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