Javascript 如何通过单击复选框或其文本来选中所有复选框
我有一个复选框,它将调用下面给出的jquery函数来选中页面中的所有复选框:Javascript 如何通过单击复选框或其文本来选中所有复选框,javascript,jquery,html,Javascript,Jquery,Html,我有一个复选框,它将调用下面给出的jquery函数来选中页面中的所有复选框: //to check all checkbox $(document).ready(function () { $("#checkAll").click(function () { $("input:checkbox").prop('checked', $(this).prop('checked')); }); }); 但我还想在单击下面的“选择所有文本”时调用相同的jquery函数,
//to check all checkbox
$(document).ready(function () {
$("#checkAll").click(function () {
$("input:checkbox").prop('checked', $(this).prop('checked'));
});
});
但我还想在单击下面的“选择所有文本”时调用相同的jquery函数,但它不起作用:
<input type="checkbox" id="checkAll" />
<a id="checkAll" onclick="document.getElementById('checkAll').checked=true" style="cursor:pointer"> Select All </a>
更新:
一个文档中不能分配两次ID!ID是选择元素的唯一键,如果要同时选择两个元素,必须使用class
<input type="checkbox" class="checkAll" />
<a class="checkAll" onclick="document.getElementsByClassName('checkAll')[0].checked=true" style="cursor:pointer"> Select All </a>
更新:
一个文档中不能分配两次ID!ID是选择元素的唯一键,如果要同时选择两个元素,必须使用class
<input type="checkbox" class="checkAll" />
<a class="checkAll" onclick="document.getElementsByClassName('checkAll')[0].checked=true" style="cursor:pointer"> Select All </a>
更新:
一个文档中不能分配两次ID!ID是选择元素的唯一键,如果要同时选择两个元素,必须使用class
<input type="checkbox" class="checkAll" />
<a class="checkAll" onclick="document.getElementsByClassName('checkAll')[0].checked=true" style="cursor:pointer"> Select All </a>
更新:
一个文档中不能分配两次ID!ID是选择元素的唯一键,如果要同时选择两个元素,必须使用class
<input type="checkbox" class="checkAll" />
<a class="checkAll" onclick="document.getElementsByClassName('checkAll')[0].checked=true" style="cursor:pointer"> Select All </a>
不能在同一页中放置两个id相同的元素。支持ID是唯一的 此外,您将jQuery代码和内联事件处理程序奇怪地混合在一起。试试这个:
<input type="checkbox" id="checkAll" class="checkAll"/>
<a class="checkAll" style="cursor:pointer"> Select All </a>
不能在同一页中放置两个id相同的元素。支持ID是唯一的 此外,您将jQuery代码和内联事件处理程序奇怪地混合在一起。试试这个:
<input type="checkbox" id="checkAll" class="checkAll"/>
<a class="checkAll" style="cursor:pointer"> Select All </a>
不能在同一页中放置两个id相同的元素。支持ID是唯一的 此外,您将jQuery代码和内联事件处理程序奇怪地混合在一起。试试这个:
<input type="checkbox" id="checkAll" class="checkAll"/>
<a class="checkAll" style="cursor:pointer"> Select All </a>
不能在同一页中放置两个id相同的元素。支持ID是唯一的 此外,您将jQuery代码和内联事件处理程序奇怪地混合在一起。试试这个:
<input type="checkbox" id="checkAll" class="checkAll"/>
<a class="checkAll" style="cursor:pointer"> Select All </a>
从中删除重复id和内联js后,可以像
$(document).ready(function () {
$("#checkAll, #checkAll + a").click(function(){
var checked = $("#checkAll").prop('checked');
if(this.id=="checkAll")
$(":checkbox").prop('checked', checked );
else
$(":checkbox").prop('checked', !checked );
});
});
从中删除重复id和内联js后,可以像
$(document).ready(function () {
$("#checkAll, #checkAll + a").click(function(){
var checked = $("#checkAll").prop('checked');
if(this.id=="checkAll")
$(":checkbox").prop('checked', checked );
else
$(":checkbox").prop('checked', !checked );
});
});
从中删除重复id和内联js后,可以像
$(document).ready(function () {
$("#checkAll, #checkAll + a").click(function(){
var checked = $("#checkAll").prop('checked');
if(this.id=="checkAll")
$(":checkbox").prop('checked', checked );
else
$(":checkbox").prop('checked', !checked );
});
});
从中删除重复id和内联js后,可以像
$(document).ready(function () {
$("#checkAll, #checkAll + a").click(function(){
var checked = $("#checkAll").prop('checked');
if(this.id=="checkAll")
$(":checkbox").prop('checked', checked );
else
$(":checkbox").prop('checked', !checked );
});
});
在HTML中,为两个不同的元素提供相同的ID是非法的。请为标记提供与输入标记不同的ID:
<input type="checkbox" id="checkAll" />
<a id="btnCheckAll" onclick="document.getElementById('checkAll').checked=true" style="cursor:pointer"> Select All </a>
顺便说一句-这段代码似乎并不打算总是选中所有复选框,而是翻转它们的值。在HTML中,为两个不同的元素提供相同的ID是非法的。请为标记提供与输入标记不同的ID:
<input type="checkbox" id="checkAll" />
<a id="btnCheckAll" onclick="document.getElementById('checkAll').checked=true" style="cursor:pointer"> Select All </a>
顺便说一句-这段代码似乎并不打算总是选中所有复选框,而是翻转它们的值。在HTML中,为两个不同的元素提供相同的ID是非法的。请为标记提供与输入标记不同的ID:
<input type="checkbox" id="checkAll" />
<a id="btnCheckAll" onclick="document.getElementById('checkAll').checked=true" style="cursor:pointer"> Select All </a>
顺便说一句-这段代码似乎并不打算总是选中所有复选框,而是翻转它们的值。在HTML中,为两个不同的元素提供相同的ID是非法的。请为标记提供与输入标记不同的ID:
<input type="checkbox" id="checkAll" />
<a id="btnCheckAll" onclick="document.getElementById('checkAll').checked=true" style="cursor:pointer"> Select All </a>
顺便说一句,这段代码似乎并不打算总是选中所有复选框,而是翻转它们的值。您不需要单击处理程序来更新复选框的checked属性,它是自动的。此外,用户永远不能取消选中该复选框,除非您运行了另一个执行该操作的脚本,这是双重冗余的。@DavidThomas注意到处理程序正在更改页面中所有复选框的值,而不仅仅是他单击的那个复选框。您对复选框的重新选中或取消选中是正确的,否则用户确实无法翻转它的值…您不需要单击处理程序来更新复选框的选中属性,它是自动的。此外,用户永远不能取消选中该复选框,除非您运行了另一个执行该操作的脚本,这是双重冗余的。@DavidThomas注意到处理程序正在更改页面中所有复选框的值,而不仅仅是他单击的那个复选框。您对复选框的重新选中或取消选中是正确的,否则用户确实无法翻转它的值…您不需要单击处理程序来更新复选框的选中属性,它是自动的。此外,用户永远不能取消选中该复选框,除非您运行了另一个执行该操作的脚本,这是双重冗余的。@DavidThomas注意到处理程序正在更改页面中所有复选框的值,而不仅仅是他单击的那个复选框。您对复选框的重新选中或取消选中是正确的,否则用户确实无法翻转它的值…您不需要单击处理程序来更新复选框的选中属性,它是自动的。此外,用户永远不能取消选中该复选框,除非您运行了另一个执行该操作的脚本,这是双重冗余的。@DavidThomas注意到处理程序正在更改页面中所有复选框的值,而不仅仅是他单击的那个复选框。关于重新检查或取消检查,您是正确的
勾选复选框,用户确实无法翻转它的值,否则…我喜欢第二个我喜欢第二个我喜欢第二个我喜欢第二个我喜欢第二个