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"));
});
单击时我有此复选框假设切换(选中或取消选中)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"));
});