Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选中当前和以前的复选框_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript 选中当前和以前的复选框

Javascript 选中当前和以前的复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,老实说,我对jquery和javascript还很陌生,而且我在复选框方面遇到了麻烦 它的作用是#checkAll是一个复选框,用于检查类为“check”的所有其他复选框: 但是,当我选中任何复选框时,我希望它能够工作。因此,我尝试将函数作为单击事件放入所有复选框,只使用onclick=“test()” 我认为问题在于我试图使用$(这个),但我一定是用错了,我所拥有的是: function test() { if($(this).prop("checked")) { $(".check"

老实说,我对jquery和javascript还很陌生,而且我在复选框方面遇到了麻烦

它的作用是#checkAll是一个复选框,用于检查类为“check”的所有其他复选框:

但是,当我选中任何复选框时,我希望它能够工作。因此,我尝试将函数作为单击事件放入所有复选框,只使用onclick=“test()”

我认为问题在于我试图使用$(这个),但我一定是用错了,我所拥有的是:

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'>