手动检查复选框不起作用

时间:2013-12-18 09:24:09

标签: jquery html

 $('.checkboxInTable').click(function(e){
    e.preventDefault();

    var selected = $(this);
    selected.prop('checked', true);
    //selected.attr('checked', true);
   }

.prop()不在HTML

中添加任何内容

attr添加checked="checked",但视觉上没有任何变化

Jquery v1.9

4 个答案:

答案 0 :(得分:3)

将活动从click()更改为change() 试试这个:

           $('.checkboxInTable').change(function(e){
              e.preventDefault();

              var selected = $(this);
              selected.prop('checked', true);
           });

答案 1 :(得分:0)

如果要创建动态复选框,

可能对文档绑定更改事件很有用。

尝试使用e.stopPropagation()而不是e.preventDefault(),并删除return false。在jQuery中返回false等同于e.stopPropagation()+ e.preventDefault()。 e.preventDefault()可以防止选中该复选框。

$(document).on("change",".checkboxInTable", function(e){
        e.preventDefault();
        var selected = $(this);
        if(!$(selected).is(":checked")) // check first if the checkbox is checked or not
          $(selected).prop('checked', true); // if not then check it, BUt when you want to uncheck, it will not allow you by using this method.
    });

答案 2 :(得分:0)

[更新]尝试此修复程序。 [编辑]很抱歉重复,其他人在我面前发布了相同的解决方案@Alessandro Minoccheri。

$('.checkboxInTable').change(function (e) {
    e.preventDefault();

    var selected = $(this);
    selected.prop('checked', true);
}
);

===============
关于你的代码 此行阻止选中复选框,因此它将始终是页面加载时查看的默认值。即表示只读?

e.preventDefault();

如果你需要的话,你的代码将正确运行,选中复选框,它将保持检查状态。

$('.checkboxInTable').click(function(e){
        //e.preventDefault();

        var selected = $(this);
        selected.prop('checked', true);
        //selected.attr('checked', true);
       }

答案 3 :(得分:0)

我使用

来解决问题 在我的html复选框上

onChange =“plzCheck(this)”

然后myCheckbox.checked = true;