Asp.net 带按钮的gridview中的复选框
在按钮单击事件中,如何选中gridview中的所有复选框? 我不需要标题复选框 请提供您的知识 等待您的回复 谢谢# 假设你有一个全选按钮Asp.net 带按钮的gridview中的复选框,asp.net,gridview,Asp.net,Gridview,在按钮单击事件中,如何选中gridview中的所有复选框? 我不需要标题复选框 请提供您的知识 等待您的回复 谢谢# 假设你有一个全选按钮 <asp:CheckBox ID="chkSelectAll" runat="server" Text="SelectAll" AutoPostBack="true" OnCheckedChanged="chkSelectAll_CheckedChanged" /> javascript方法: <script language="jav
<asp:CheckBox ID="chkSelectAll" runat="server" Text="SelectAll"
AutoPostBack="true" OnCheckedChanged="chkSelectAll_CheckedChanged" />
javascript方法:
<script language="javascript">
function SelectAllCheckboxes(spanChk){
// Added as ASPX uses SPAN for checkbox
var oItem = spanChk.children;
var theBox= (spanChk.type=="checkbox") ?
spanChk : spanChk.children.item[0];
xState=theBox.checked;
elm=theBox.form.elements;
for(i=0;i<elm.length;i++)
if(elm[i].type=="checkbox" &&
elm[i].id!=theBox.id)
{
//elm[i].click();
if(elm[i].checked!=xState)
elm[i].click();
//elm[i].checked=xState;
}
}
</script>
功能选择所有复选框(spanChk){
//添加为ASPX使用SPAN作为复选框
var oItem=spanChk.儿童;
变量theBox=(spanChk.type=“复选框”)?
spanChk:spanChk.children.item[0];
xState=box.checked;
elm=box.form.elements;
对于(i=0;i
或者您可以使用复选框。
这是gridview外部的复选框
<input id="checkall" type="checkbox" />
如果您使用的是$('input:checkbox')选择器
<script type="text/javascript">
$(function() {
$('#NameOfButtonToSelectAll').click( function() {
$('input:checkbox').each( function() {
this.checked = !this.checked;
});
});
});
</script>
$(函数(){
$(“#按钮名称选择全部”)。单击(函数(){
$('input:checkbox')。每个(函数(){
this.checked=!this.checked;
});
});
});
Hai Dominic,
如果你想要javascript,看看这个
或
Jquery可以简化这一过程。钩住Selected事件的外部框,然后在其中迭代网格框,将它们全部选中
这是asp.net邪恶的一个很好的例子,新开发人员使用asp.net真的会让他们认为所有的处理和交互都发生在服务器端,各种疯狂的黑客行为都是为了维持这种错觉。这是倒退和疯狂的。试试这个:
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate><asp:CheckBox ID="SelectUnSelectAllCheckBox" runat="server" /></HeaderTemplate>
<ItemTemplate><asp:CheckBox ID="SelectCheckBox" runat="server" /></ItemTemplate>
</asp:TemplateField>
<!-- Other columns are omitted -->
</Columns>
</asp:GridView>
$(文档).ready(函数(e){
$(“输入[id$='SelectUnSelectAllCheckBox'])。更改(函数(){
$(“输入[id$='SelectCheckBox']”)attr(“选中”,this.checked);
});
});
请检查一下,工作完成后告诉我
使用Javascript:
使用服务器端脚本:(VB.Net)
使用jQuery:
$('#SelectAll').click(function(){
var checked = $(this).is(':checked');
var allCheckboxes = $('table input:checkbox');
if(checked)
allCheckboxes.attr('checked','checked');
else
allCheckboxes.removeAttr('checked');
});
假设您的网格和复选框有一个类,您可能需要更改选择器。为所有网格行复选框分配一个类,并使用下面的脚本获取它们
function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
将类子框
指定给网格行子框
document.getElementById("parentbox").onclick = function() {
for(var index=0; index < messages.length; index++) {
// prompt the content of the div
//message[index].checked = (message[index].checked) ? false : true;
}
}
document.getElementById(“parentbox”).onclick=function(){
对于(var index=0;index
您将parentbox
类分配给网格标题中的父复选框
你不需要定义它们-parentbox
和
或者javascript也是一个选项,因为我认为最好再问一次完全相同的问题不会让你有任何结果。完全重复-关闭。重复:以上同一用户发布的“副本”:如果复选框在网格外但在网格内不起作用,我如何在客户端调用此函数?您使用了哪一个?javascript或c#?我是jquery的新手,请解释或给出解决方案…我们可以使用javascript吗?jquery是基于JavaScripti构建的我没有在网格外使用头模板?可以将在任意位置选择UnselectAllCheckBox
。如何在客户端调用此脚本side@Mehdi-这肯定会起作用,但应该添加可选项以选中所有项以取消选中所有项,@Domnic-这是一个jquery解决方案,只是需要注意:因此您必须在我的复选框id中包含jquery插件How ca调用此函数=“chk1”gridview checkbox id=“gridchk”使用CSSClass会更轻松-这些id在客户端会更改。您可能可以执行$(“[id$='chk1']”)操作
,但使用类更简单。
<script type="text/javascript">
$(function() {
$('#NameOfButtonToSelectAll').click( function() {
$('input:checkbox').each( function() {
this.checked = !this.checked;
});
});
});
</script>
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate><asp:CheckBox ID="SelectUnSelectAllCheckBox" runat="server" /></HeaderTemplate>
<ItemTemplate><asp:CheckBox ID="SelectCheckBox" runat="server" /></ItemTemplate>
</asp:TemplateField>
<!-- Other columns are omitted -->
</Columns>
</asp:GridView>
<script type="text/javascript">
$(document).ready(function(e) {
$("input[id$='SelectUnSelectAllCheckBox']").change(function() {
$("input[id$='SelectCheckBox']").attr("checked", this.checked);
});
});
</script>
$('#SelectAll').click(function(){
var checked = $(this).is(':checked');
var allCheckboxes = $('table input:checkbox');
if(checked)
allCheckboxes.attr('checked','checked');
else
allCheckboxes.removeAttr('checked');
});
function getElementsByClass(searchClass,node,tag) {
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
var messages = getElementsByClass("childbox");
document.getElementById("parentbox").onclick = function() {
for(var index=0; index < messages.length; index++) {
// prompt the content of the div
//message[index].checked = (message[index].checked) ? false : true;
}
}