gridview 一个列勾选框选中,同时选中同一行的另一列勾选框

 <asp:TemplateColumn >
                        <HeaderTemplate>
                            是否显示 <asp:CheckBox ID="chk_Show" style="cursor:hand" runat="server" oncheckedchanged="chk_Show_CheckedChanged" AutoPostBack="True"  />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <input type="checkbox" runat="server" name="cb_Show" id="cb_Show"  value='<%# DataBinder.Eval(Container.DataItem,"OID")%>' checked='<% #DataBinder.Eval(Container.DataItem, "NewShowMark").ToString()=="1"?true:false %>' />
                        </ItemTemplate>
                    </asp:TemplateColumn>
                    <asp:TemplateColumn >
                        <HeaderTemplate>
                            是否可用<asp:CheckBox ID="chk_Used" style="cursor:hand" runat="server" oncheckedchanged="chk_Used_CheckedChanged" AutoPostBack="True"  />
                        </HeaderTemplate>
                        <ItemTemplate>
                            <input type="checkbox" runat="server" name="cb_Used" id="cb_Used"  onclick="changestate(this)" value='<%# DataBinder.Eval(Container.DataItem,"OID")%>' checked='<% #DataBinder.Eval(Container.DataItem, "NewUsedMark").ToString()=="1"?true:false %>' />                            
                        </ItemTemplate>
                    </asp:TemplateColumn>
aspx页面

HeaderTemplate:可以控制全选

   function changestate(obj) {
            var strShowId = obj.id.substr(0, (obj.id).length - 7) + "cb_Show";
            if (obj.checked) {
                document.getElementById(strShowId).checked = true;
            }            
        }
JS

changestate方法:

主要是因为同一行两列勾选框是ID默认前面会相同,所以用截取的方式可以得到同一行,另一列的勾选框ID

原文地址:https://www.cnblogs.com/xbding/p/3367864.html