为了美观要求在gridview1首列的用checkbox实现全选,不能在gridview外面写【全选按钮】,就是要类似这种:
<asp:TemplateField HeaderText="<input id='CheckAll' type='checkbox' onclick='selectAll(this)' />">一个全选的checkbox控制一个gridview。
下面附上一种实现了一个页面只存在一个geidview的全选实现方法html:
<asp:TemplateField HeaderText="<input id='CheckAll' type='checkbox' onclick='selectAll(this%>);' />">
<ItemTemplate>
<asp:CheckBox ID="ckbox" runat="server" name="a" />
</ItemTemplate>
</asp:TemplateField>
Js:
function selectAll(obj) {
var theTable = obj.parentElement.parentElement.parentElement;
var i;
var j = obj.parentElement.cellIndex; for (i = 0; i < theTable.rows.length; i++) {
var objCheckBox = theTable.rows[i].cells[j].firstChild;
if (objCheckBox.checked != null) objCheckBox.checked = obj.checked;
}
}
<asp:TemplateField HeaderText="<input id='CheckAll' type='checkbox' onclick='selectAll(this)' />">一个全选的checkbox控制一个gridview。
下面附上一种实现了一个页面只存在一个geidview的全选实现方法html:
<asp:TemplateField HeaderText="<input id='CheckAll' type='checkbox' onclick='selectAll(this%>);' />">
<ItemTemplate>
<asp:CheckBox ID="ckbox" runat="server" name="a" />
</ItemTemplate>
</asp:TemplateField>
Js:
function selectAll(obj) {
var theTable = obj.parentElement.parentElement.parentElement;
var i;
var j = obj.parentElement.cellIndex; for (i = 0; i < theTable.rows.length; i++) {
var objCheckBox = theTable.rows[i].cells[j].firstChild;
if (objCheckBox.checked != null) objCheckBox.checked = obj.checked;
}
}
另外 上面的代码:onclick='selectAll(this%>); 这里多了个 %>
<HeaderTemplate>
<input type="checkbox" name="chkall" onclick="CheckAll(this.form)" value="ON">
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" id="id" name="id" value="<%#Eval("id") %>" />
</ItemTemplate>
</asp:TemplateField>
稍微改造一下就可以实现你要的效果。
我晕 完全看不懂 0.0
忘了说一下,用的是Jquery。
很简单啊 引用一下jquery的js 代码一改造就可以了。
http://www.cnblogs.com/insus/archive/2013/01/20/2868532.htmlor:
http://www.cnblogs.com/insus/articles/1411613.html
因为<asp:CheckBox ID="ckbox" runat="server" name="a" />
这里 多个 name='a' 这个东西
<script>
function CheckAll(obj) {
jQuery("#" + obj + " input[type='checkbox'][name='id']").attr("checked", jQuery("#" + obj + " input[type='checkbox'][name='chkall']").attr("checked"));
}
</script>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" name="chkall" onclick="CheckAll('GridView1')" value="ON">
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" id="id" name="id" value="<%#Eval("id") %>" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="id" />
</Columns>
</asp:GridView>
<asp:GridView ID="GridView2" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" name="chkall" onclick="CheckAll('GridView2')" value="ON">
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" id="id" name="id" value="<%#Eval("id") %>" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="id" />
</Columns>
</asp:GridView>
9L的也可以