我的HTML:
<div class="check">
<input class="sfCheckbox" type="checkbox" title="view" disabled="true" checked="checked">
<input class="sfCheckbox" type="checkbox" title="view" checked="checked">
</div>
在jquery中我尝试:
$('.check .sfCheckbox').attr('checked', false);
代码工作正常,但我想('checked', false)
如果复选框没有禁用。如何得到欲望结果。谢谢。
我的意思是如果复选框被禁用则不执行任何操作。如果没有'已选中',则为false。谢谢。
答案 0 :(得分:2)
如果您使用的是jQuery 1.6或更高版本,请不要再使用.attr()
,而是.prop()
:
$('selector goes here').prop('checked', false);
答案 1 :(得分:1)
试试这个:
在你的陈述中添加.not('[disabled]')
就可以了解
$('.check .sfCheckbox').not('[disabled]').attr('checked', false);
此语句将取消选中类'enabled'
的所有sfCheckbox
复选框,这些复选框位于具有类check
的元素内
答案 2 :(得分:1)
尝试:
if(!$(".check").is(":disabled")) {
$(this).attr('checked', false);
}
答案 3 :(得分:1)
您可以尝试this example。 解释是使用$('。check')你得到div元素而不是复选框。你需要提供复选框选择器来实现你想要的东西
答案 4 :(得分:1)
工作代码:
if($("input").attr("disabled")==undefined)
$('input').removeAttr('checked','checked');