在网格视图的复选框之间切换检查。[英] toggling check between check box in a gridview.

问题描述

你好,

1. 我有一个带有模板字段的网格视图,其中包含 2 个复选框列和一个文本框列.
我需要 javascript 来切换复选框中的检查状态(即我有 2 个名为 chkapprove 和 chkreject 的复选框,如果我选中"chkapprove",那么"chkreject"应该取消选中它是否已被选中,反之亦然)
2. 我需要一个按钮单击功能,当检查 chkreject 并且在文本框中没有输入任何内容时,它必须通过 msg "Enter the reason" 发出警报..

函数 reason(){MyGridView = document.getElementById('<%= grdaccess.ClientID %>');var Inputs = MyGridView.getElementsByTagName("input");var chkBox = "Chkreject";var 文本框 = "txtreason";for (var n = 0; n<输入.长度;++n)if (Inputs[n].type == '复选框' && Inputs[n].id.indexOf(chkBox, 0) >= 0 && Inputs[n].checked)if (Inputs[n+1].type == 'textbox' && Inputs[n+1].id.indexOf(textbox, 0) >= 0 && Inputs[n+1].length <= 0){alert("输入原因");return false;}return true;}

<asp:Button ID="btnSubmit"span> runat="服务器" CssClass="showall" 文本="提交"  OnClientClick="javascript:return reason();" onclick="btnsubmit_Click" />

这是我为条件 2 编写的代码.但它不起作用.

这是我的html代码:


有人可以帮我吗?

<asp:GridView ID="grdaccess" runat="server" CssClass="mGridv" AutoGenerateColumns="False"AllowPaging="True" CellPadding="4"BackColor="White" PagerSettings-PageButtonCount="5" PagerSettings-Mode= "NumericFirstLast"BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"GridLines="Horizo​​ntal" EnableViewState="false"onrowdatabound="grdaccess_RowDataBound" onpageindexchanging="grdaccess_PageIndexChanging"><FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C"/><HeaderStyle CssClass="first" Font-Bold="true"/><PagerStyle CssClass="pgr" ></PagerStyle><RowStyle CssClass="奇数"/><AlternatingRowStyle CssClass="even" BackColor ="白色"/><列><asp:TemplateField HeaderText="案例研究名称"><项目模板><asp:LinkBut​​ton ID ="lbcsname" runat ="服务器" OnClick="lnkCustomer_Click" ></asp:LinkBut​​ton></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="Esa Project"><项目模板><asp:标签 ID="lblprojects" runat="服务器"></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="WorkFlow"><项目模板><asp:LinkBut​​ton runat="服务器" ID="lnkworkflowhistory"OnClick="lnkworkflow_click"></asp:LinkBut​​ton></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="DeliveryManager"><项目模板><asp:标签 ID="lbldeliverymanager" CssClass="leftalign" runat="server"></asp:标签></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="客户端"><项目模板><asp:标签 ID="lblclient" CssClass="leftalign" runat="server"></asp:标签></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="状态" Visible="false"><项目模板><asp:标签 ID ="lbstatus" runat ="服务器" ></asp:Label></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="批准" ItemStyle-Horizo​​ntalAlign="Center" ><项目模板><asp:CheckBox ID="Chkapprove" runat="server" AutoPostBack="true"/></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="Reject" ItemStyle-Horizo​​ntalAlign="Center"><项目模板><asp:CheckBox ID="Chkreject" runat="server" AutoPostBack="true"/></ItemTemplate></asp:TemplateField><asp:TemplateField HeaderText="备注"><项目模板><asp:TextBox ID="txtreason" runat="服务器"></asp:TextBox></ItemTemplate></asp:TemplateField></><SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7"/><SortedAscendingCellStyle BackColor="#F4F4FD"/><SortedAscendingHeaderStyle BackColor="#5A4C9D"/><SortedDescendingCellStyle BackColor="#D8D8F0"/><SortedDescendingHeaderStyle BackColor="#3E3277"/></asp:GridView><asp:Button ID="btnSubmit" runat="server" CssClass="showall" Text="提交" OnClientClick="javascript:return reason();" onclick="btnsubmit_Click"/>


提前谢谢,
gowrishankar

推荐答案

尝试使用 Inputs[n+1].type == ''text''

本文地址:https://www.itbaoku.cn/post/1395032.html