Javascript选中表/asp.net中的所有复选框
我有一个表,表中有行,每行有几个Javascript选中表/asp.net中的所有复选框,asp.net,javascript,Asp.net,Javascript,我有一个表,表中有行,每行有几个元素。最后一个元素在中有一个复选框。 它们位于设置为runat=“server”的中。我在页面上有另一个名为“chkAll”的复选框,单击该复选框时,我希望javascript选中或取消选中表中的所有复选框 我不太擅长Javascript,所以我不知道该怎么办。我添加了一个javascript onclick方法,并将document.getelementbyid放在div.clientID中,但我不确定接下来该做什么。有什么想法吗?试试使用jQuery——它使j
元素。最后一个元素在中有一个复选框。
它们位于设置为runat=“server”
的
中。我在页面上有另一个名为“chkAll”的复选框,单击该复选框时,我希望javascript选中或取消选中表中的所有复选框
我不太擅长Javascript,所以我不知道该怎么办。我添加了一个javascript onclick方法,并将document.getelementbyid放在div.clientID中,但我不确定接下来该做什么。有什么想法吗?试试使用jQuery——它使javascript更简单,更不冗长 我认为可以在这里找到解决您问题的方法:
一旦有了
元素作为参考,使用getElementsByTagName()
获取
元素,然后检查类型
属性,如果它是一个复选框,则将它的选中
属性设置为与复选框chkAll
的选中
属性相同。比如说
function toggleCheckBoxes(elem) {
var div = document.getElementById('<% = divid.ClientID %>');
var chk = div.getElementsByTagName('input');
var len = chk.length;
for (var i = 0; i < len; i++) {
if (chk[i].type === 'checkbox') {
chk[i].checked = elem.checked;
}
}
}
这里有一个。将/edit添加到URL以查看代码,因为您是javascript新手,我不建议您使用jQuery。了解javascript的基本概念,然后使用jQuery 试试这个
function CheckAll()
{
var tab = document.getElementById ( "tbl1" ); // table with id tbl1
var elems = tab.getElementsByTagName ( "input" );
var len = elems.length;
for ( var i = 0; i < len; i++ )
{
if ( elems[i].type == "checkbox" )
{
elems[i].checked = true;
}
}
}
在onclick函数中
我想勾选或取消勾选javascript
我表中的所有复选框
。。。
和JavaScript:
function f() {
var inputs_in_table = document.getElementById("goofy").getElementsByTagName("input");
for(var i=0; i<inputs_in_table.length; i++) {
if(inputs_in_table[i].type == "checkbox") inputs_in_table[i].checked= true;
}
}
函数f(){
var inputs_in_table=document.getElementById(“goofy”).getElementsByTagName(“input”);
对于(var i=0;i请尝试以下操作:
在aspx中:
<asp:CheckBox ID="chkAll" onclick="javascript:CheckUncheckall(this);" Text="Select" runat="server" />
<table id="tbl" runat="server">
<tr>
<td>
<asp:CheckBox ID="CheckBox1" runat="server" Text="A" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox2" runat="server" Text="B" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox3" runat="server" Text="C" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox4" runat="server" Text="D" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox5" runat="server" Text="E" /></td>
</tr>
</table>
<script language="javascript" type="text/javascript">
function CheckUncheckall(chk) {
var chks = document.getElementById("<% = tbl.ClientID %>").getElementsByTagName("input");
for(var i=0; i<chks.length; i++) {
if(chks[i].type == "checkbox") chks[i].checked= chk.checked;
}
}
</script>
和下面的javascript:
<asp:CheckBox ID="chkAll" onclick="javascript:CheckUncheckall(this);" Text="Select" runat="server" />
<table id="tbl" runat="server">
<tr>
<td>
<asp:CheckBox ID="CheckBox1" runat="server" Text="A" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox2" runat="server" Text="B" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox3" runat="server" Text="C" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox4" runat="server" Text="D" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="CheckBox5" runat="server" Text="E" /></td>
</tr>
</table>
<script language="javascript" type="text/javascript">
function CheckUncheckall(chk) {
var chks = document.getElementById("<% = tbl.ClientID %>").getElementsByTagName("input");
for(var i=0; i<chks.length; i++) {
if(chks[i].type == "checkbox") chks[i].checked= chk.checked;
}
}
</script>
功能检查取消勾选(chk){
var chks=document.getElementById(“”).getElementsByTagName(“输入”);
对于(var i=0;i我已经使用这个脚本创建了一个修改版本,您可以在其中动态地传递表名和复选框名。
函数checkedAll(容器,chkID)
{
var tab=document.getElementById(容器);//获取包含复选框的表id
var elems=tab.getElementsByTagName(“输入”);
对于(变量i=0;i
通过使用jquery直接访问复选框,然后循环它们,您可以在这里保存循环元素
$('input[type=checkbox]').each(function(){
this.checked = true
});
如果要隔离页面的特定部分,请执行以下操作:
$(mydiv).find('input[type=checkbox]').each(function(){
this.checked = true
});
在这种情况下,通过单个复选框选中和取消选中所有复选框(checkall
-id)谢谢您的回复!我正在尝试让它工作,但它找不到表,我猜是因为我在codebehind中动态创建了表。请在JavaScript函数中使用表的ClientID。如果该函数在aspx标记中,您可以使用服务器端标记
为表呈现生成的客户端id在发送给客户端的HTML标记中没有问题-您可能还希望在
中的每个复选框上设置一个单击事件处理程序,以检查其他复选框的已选中的属性-如果未选中所有复选框,则取消选中chkAll
复选框。如果所有复选框都已选中,请选中chkAll
复选框x、 既然您知道如何获取复选框并选中它们的checked
属性,那么我将把这个作为练习留给您
$('input[type=checkbox]').each(function(){
this.checked = true
});
$(mydiv).find('input[type=checkbox]').each(function(){
this.checked = true
});
$('#checkall').click(
function () {
$('#divid').find('input[type=checkbox]').each(function () {
this.checked = $('#checkall').is(':checked')
});
});