我有一组单选按钮,每个按钮上都有一个“laser2”类。我有一个ID为“duaL-laser”的复选框。我试图用复选框切换单选按钮组的可用性。我知道班级切换工作(用于显示目的)。这是我的代码。
<script type="text/javascript">
$().ready(function() {
//$('.laser2').attr('disabled', 'disabled');
$('#dual-laser').click(function() {
$('div#power-listing2').toggleClass('disable');
$('.laser2').removeAttr('disabled');
});
if ($('#dual-laser').attr('checked', false)) {
$('.laser2').attr('disabled', true);
}
});
</script>
当我勾选复选框时,此功能正常。但是当我取消选中该复选框时,单选按钮仍保持启用状态。尽管if语句在代码的底部是真的。是什么给了什么?
答案 0 :(得分:1)
尝试更改此内容:
if ($('#dual-laser').attr('checked', false)) {
$('.laser2').attr('disabled', true);
}
到此:
if ($('#dual-laser').prop('checked')) {
$('.laser2').attr('disabled', true);
}
现在你正在设置该属性,我怀疑你想得到它。
<强>更新强>
此外,上述声明是否应该在您的点击事件中?现在它只是在准备文件时执行。像这样:
$('#dual-laser').click(function() {
$('div#power-listing2').toggleClass('disable');
//$('.laser2').removeAttr('disabled');
$('.laser2').attr('disabled', !$(this).prop('checked'));
});
更新2
这是一个简化的小提琴,应该做你需要的:http://jsfiddle.net/pHJ5u/3/