【问题标题】:JQUERY/JAVASCRIPT: everytime i click this check box i get JS errorJQUERY/JAVASCRIPT:每次单击此复选框时,我都会收到 JS 错误
【发布时间】:2017-07-13 20:54:41
【问题描述】:

单击时我有此复选框,假设切换(选中或取消选中)类“框”的所有其他复选框,但会给出此错误:

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 错误是什么。

【问题讨论】:

  • dsomething() 是做什么的?
  • 您必须提供有关 dosomething() 函数的完整信息。
  • this 不是你想的那样

标签: javascript jquery checkbox onchange


【解决方案1】:

当您使用内联 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"));
});

【讨论】:

  • tyvm。我只想说 php/javascript 都是糟糕的语言。 Ty 再次寻求帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-12
  • 2023-03-23
  • 2022-11-14
  • 1970-01-01
  • 1970-01-01
  • 2015-07-20
相关资源
最近更新 更多