我在$( document ).ready(function()
内有以下代码:
$('.Spec').prop('disabled', !$('.Spec').is(':checked'));
我要做的是在页面加载后,禁用未检查的类Spec
的任何复选框。
上述任何原因无效?
答案 0 :(得分:5)
首先,你正在为你的布尔条件做一个非常糟糕的选择器机制;怎么知道Spec类中的特定复选框是你需要评估的那个?
我可能会在这些方面提出更多建议:
$('.Spec').each(function() {
if(!$(this).prop('checked')) {
$(this).prop('disabled', true);
}
});
答案 1 :(得分:3)
!$('.Spec').is(':checked')
将返回false,因此必须取消选中所有复选框。
听起来你正试图在每个复选框上单独执行此操作,例如:
$('.Spec').prop('disabled', function() {
return !this.checked;
});
答案 2 :(得分:2)
然而,不知道这应该有效。
$('.spec').each(function() {
if(!$(this).is(':checked')) {
$(this).prop('disabled', true);
}
});
答案 3 :(得分:1)
你可以试试这个:
var _checked;
$('.Spec').each(function() {
_checked = ($(this).is(':checked')) ? false : true;
$(this).prop('disabled', _checked);
});
查看更新后的jsfiddle