Javascript 选中当前和以前的复选框
老实说,我对jquery和javascript还很陌生,而且我在复选框方面遇到了麻烦 它的作用是#checkAll是一个复选框,用于检查类为“check”的所有其他复选框: 但是,当我选中任何复选框时,我希望它能够工作。因此,我尝试将函数作为单击事件放入所有复选框,只使用onclick=“test()” 我认为问题在于我试图使用$(这个),但我一定是用错了,我所拥有的是:Javascript 选中当前和以前的复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,老实说,我对jquery和javascript还很陌生,而且我在复选框方面遇到了麻烦 它的作用是#checkAll是一个复选框,用于检查类为“check”的所有其他复选框: 但是,当我选中任何复选框时,我希望它能够工作。因此,我尝试将函数作为单击事件放入所有复选框,只使用onclick=“test()” 我认为问题在于我试图使用$(这个),但我一定是用错了,我所拥有的是: function test() { if($(this).prop("checked")) { $(".check"
function test() {
if($(this).prop("checked")) {
$(".check").prop("checked", true);
} else {
$(".check").prop("checked", false);
}
}
“$(this)”也有类“check”,所以可能与此有关
最后,我想勾选一个复选框,它会勾选前面所有的复选框,而不是后面的复选框。我想如果我弄清楚为什么这不起作用,那么我应该能够弄清楚。我不懒惰,只是学习
我一直在寻找答案,但找不到答案。我希望有人能帮忙
提前谢谢 将此作为函数的参数传递,如下所示:
onclick="test(this);"
并在函数中使用它,如下所示:
function test(that) {
if($(that).prop('checked')) {}
}
将此作为函数的参数传递,如下所示:
onclick="test(this);"
并在函数中使用它,如下所示:
function test(that) {
if($(that).prop('checked')) {}
}
当您执行onclick=“test()”
时,您将在全局上下文中调用test()
,因此此
将被设置为窗口
,而不是DOM元素。你可以用几种方法来解决这个问题
您可以传递一个参数
您还可以使用test.call(this)
,手动强制上下文成为DOM元素
您还可以通过jQuery而不是作为属性附加事件处理程序:
$(".check").click(test);
jQuery将使用正确的上下文自动调用回调
顺便说一句,我建议您查看下一步要做什么。当您执行onclick=“test()”
时,您在全局上下文中调用test()
,因此此
将设置为窗口,而不是DOM元素。你可以用几种方法来解决这个问题
您可以传递一个参数
您还可以使用test.call(this)
,手动强制上下文成为DOM元素
您还可以通过jQuery而不是作为属性附加事件处理程序:
$(".check").click(test);
jQuery将使用正确的上下文自动调用回调
顺便说一句,我建议您查看下一步要做什么。鉴于此HTML:
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>
鉴于此HTML:
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>
<input type='checkbox'>