在我的应用程序中,用户可以选中或取消选中复选框。 关于改变事件:
$('#Inactive_cb').change(function () {
....
this.checked = !this.checked;
我检查一下这个值是否有所改变。在change()中,我还检查他们是否有权进行更改。如果他们不喜欢撤消,请选中/取消选中。
问题:
我的方式是否超出理想状态?我有:
this.checked = !this.checked;
答案 0 :(得分:2)
您可以使用
if($(this).is(':checked')){
$(this).attr('checked', false);
}
或者如果你有更新版本的jQuery,你可以使用
if($(this).is(':checked')){
$(this).prop('checked', false);
}
答案 1 :(得分:0)
你可以这样做,它很简单且有效......但如果用户没有权限检查它,我建议你禁用该复选框。
<input type="checkbox" id="foo" disabled />
用于设置禁用属性的jQuery代码
$("#foo").attr('disabled', 'disabled');
您在表单加载时执行此操作,因此没有权限的用户甚至无法检查它。显然,您希望在服务器端再次进行此检查,以确保没有人从DOM中的元素中删除该属性,并在它们不应该的时候进行检查。
也可以添加...如果你需要使用JS删除属性,请使用jQuery的.removeAttr()