复选框全选(二) 使用ID实现全选
function selectAll(bool) { for(var i = 0;i < document.all.tags("INPUT").length;i++) { if(document.all.tags("INPUT")[i].type == "checkbox" && document.all.tags("INPUT")[i].id != "") { var strobj = document.all.tags("INPUT")[i].name; if(strobj.substring(strobj.length - ('$cbk').length) =='$cbk' ) document.all.tags("INPUT")[i].checked = bool; } } } 调用一: TemplateColumn col0 = new TemplateColumn(); col0.HeaderText = "<input type='checkbox' onmouseup='selectlist(!this.checked)' />全选"; col0.ItemTemplate = new UpDateEmpSalaryCBKTemplate(); col0.ItemStyle.CssClass = "underline"; dgList.Columns.Add(col0); 调用二: <asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" EnableModelValidation="True" onrowdatabound="GridView1_RowDataBound"> <Columns> <asp:TemplateField HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="30" HeaderStyle-Width="30"> <ItemTemplate> <asp:CheckBox ID="chkContractID" runat="server" CssClass='ID$<%# DataBinder.Eval(Container.DataItem,"ContractID") %>' /> </ItemTemplate> <HeaderTemplate> <asp:CheckBox runat="server" onclick="selectAll(this.checked)" /> //这里用服务器控件,全选的控件 选中的状态不会丢失 </HeaderTemplate> </asp:TemplateField> <asp:HyperLinkField HeaderText="合同编号" DataTextField="ContractCode" DataNavigateUrlFields="ContractID" DataNavigateUrlFormatString="FrmEdit.aspx?S_ID={0}&CMD=Look" /> <asp:BoundField HeaderText="合同金额" DataField="ServiceAmount" DataFormatString="¥{0}"/> <asp:BoundField HeaderText="签订日期" DataField="ContractDatetime" DataFormatString="{0:yyyy/MM/dd}"/> <asp:BoundField HeaderText="业务员" DataField="CreateByName"/> <asp:BoundField HeaderText="合同开始时间" DataField="ContractStartTime" DataFormatString="{0:yyyy/MM/dd}"/> <asp:BoundField HeaderText="合同结束时间" DataField="ContractEndTime" DataFormatString="{0:yyyy/MM/dd}"/> <asp:BoundField HeaderText="合同状态" DataField="ContractStatusID"/> <asp:BoundField HeaderText="是否审核" DataField="IsValid"/> </Columns> </asp:GridView> <script type="text/javascript" language="javascript"> function selectAll(bool) { for (var i = 0; i < document.all.tags("INPUT").length; i++) { if (document.all.tags("INPUT")[i].type == "checkbox" && document.all.tags("INPUT")[i].id != "") { var strobj = document.all.tags("INPUT")[i].name; if (strobj.substring(strobj.length - ('$chkContractID').length) == '$chkContractID') document.all.tags("INPUT")[i].checked = bool; } } } </script>