$('.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
答案 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;