javascript - 使用脚本之前复选框不起作用

标签 javascript html

我被要求将表格行单击上的复选框标记为选中,下面的脚本正在工作,但现在当我直接单击复选框时,它不起作用,只有当我单击表格行时才起作用。

我有这个html:

<tr class="linha_tela" id="4">
   <td>Profile</td>
   <td>Clientes</td>
   <td>
     <input type="checkbox" checked="checked" id="controller_4" name="controllers[]" value="4" />
  </td>
</tr>

这是我的脚本:

    $('.linha_tela').click(function(){
        var checkbox = $(this).find(':checkbox');
        checkbox.attr('checked', !checkbox.attr('checked'));
    });

谢谢

最佳答案

发生的情况是,当您单击复选框时,该复选框会切换,然后触发事件处理程序,导致其变为未选中状态。这基本上是瞬时发生的,这就是为什么它看起来根本不起作用。

试试这个:

$('.linha_tela').click(function(event) {
    if (!$(event.target).is(':checkbox')) {
        var checkbox = $(this).find(':checkbox');
        checkbox.attr('checked', !checkbox.attr('checked'));
    }
});

编辑:这是一个 jsfiddle demo它的工作原理。

关于javascript - 使用脚本之前复选框不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112597/

相关文章:

javascript - jQuery Validate - 如何使用 errorMap 或 errorList

javascript - $inc 仅当新元素添加到集合中时

javascript - 在提交表单上,返回 false 不起作用

html - 如何让div显示:none after a css animation that makes it fade away?

javascript - 对类数组对象进行排序 Angular

Javascript函数参数不起作用

javascript - d3.js:如何在翻译时围绕其中心旋转 SVG?

jquery - 使用 Jquery 通过 SELECT 字段进行表单验证

python - 将 Selenium 与 Python 结合使用 : Error when using select boxes on IE9

html - 如何在 JSF 页面上显示 PDF