我使用以下行禁用页面上的所有复选框:
$('input[type=checkbox]').attr('disabled', 'true');
然后,如果 ajax 调用成功,我想重新启用它们,但这似乎不起作用:
$.ajax({
url: 'EditService.svc/whatever',
type: 'GET',
data: { "code": code },
dataType: 'json',
success: function () {
//clear status
$('.EditStatus').html('')
//reenable all checkboxes
$('input[type=checkbox]').attr('disabled', 'false');
},
error: function (a, b, c) {
$('.EditStatus').html("Database Error!");
}
});
我不明白为什么。//清除状态部分工作正常。
最佳答案
字符串 'true' 的计算结果为 true,因为它是一个非空字符串,而 'false' 则不是 false,因为它不是空的。尝试:
$('input[type=checkbox]').attr('disabled', false);
虽然这有效:
$('input[type=checkbox]').attr('disabled', 'true');
您仍然应该传递 bool 值而不是字符串。
如果您使用的是 jQuery 1.6+,则应该使用 .prop
(和 .removeProp
)。
关于jquery - 在 Ajax 成功事件中启用复选框吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7087865/