JQUERY/JAVASCRIPT:每次单击此复选框时都会出现 JS 错误

JQUERY/JAVASCRIPT: everytime i click this check box i get JS error

单击时我有此复选框假设切换(选中或取消选中)class "boxes" 的所有其他复选框,但反而给出此错误:

Cannot read property 'toLowerCase' of

这里是 HTML:

<input type="checkbox" class="cb" name="cb" value="some_val" onchange="dosomething()" />

<input type="checkbox" class="boxes" name="boxes[]" value="1" />
<input type="checkbox" class="boxes" name="boxes[]" value="2" />
<input type="checkbox" class="boxes" name="boxes[]" value="3" />

这里是 JS/JQUERY:

function dosomething(){
   $('.boxes:checkbox').prop('checked', $(this).is(":checked")); 
}

我不明白 JQUERY 错误是什么。

当您使用内联 onchange 调用函数时,未设置上下文,因此您不能在函数中使用 $(this)。您需要显式传递元素。

<input type="checkbox" class="cb" name="cb" value="some_val" onchange="dosomething(this)" />

function doSomething(el) {
    $('.boxes:checkbox').prop('checked', $(el).is(":checked"));
}

或者您可以在 jQuery 中进行事件绑定:

<input type="checkbox" class="cb" name="cb" value="some_val" id="checkAll" />

$("#checkAll").click(function() {
    $('.boxes:checkbox').prop('checked', $(this).is(":checked"));
});