Jquery复选框撤消

时间:2012-07-12 21:26:42

标签: jquery

在我的应用程序中,用户可以选中或取消选中复选框。 关于改变事件:

    $('#Inactive_cb').change(function () {

    ....
    this.checked = !this.checked;

我检查一下这个值是否有所改变。在change()中,我还检查他们是否有权进行更改。如果他们不喜欢撤消,请选中/取消选中。

问题:

我的方式是否超出理想状态?我有:

     this.checked = !this.checked;

2 个答案:

答案 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()