【发布时间】:2013-11-17 09:16:16
【问题描述】:
编辑:我应该解释说,根据用户从第一组中选择的内容,第二组复选框只有一些启用 - 如果用户选择第一个复选框,那么第二个复选框第二组启用,而如果他们选择第一组中的第二个框,则启用第二组中的另一组复选框。抱歉,应该解释得更清楚。
我有两个系列的复选框如下:
<input class="oDiv" type="checkbox" value="1" />
<input class="oDiv" type="checkbox" value="2" />
<input disabled="disabled" class="Spec" type="checkbox" value="1" />
<input disabled="disabled" class="Spec" type="checkbox" value="2" />
<input disabled="disabled" class="Spec" type="checkbox" value="5" />
<input disabled="disabled" class="Spec" type="checkbox" value="8" />
<input disabled="disabled" class="Spec" type="checkbox" value="10" />
<input disabled="disabled" class="Spec" type="checkbox" value="30" />
我有一些 jQuery 代码可以根据选择启用第二组复选框:
$('.oDiv').on('click', function() {
var select = $(this).val();
if(select==1){
$('.Spec:eq(1)').prop('disabled', false);
}
else{$('.Spec').prop('disabled', true);}
});
现在,当用户选择 1 时,会启用第二个列表中正确的复选框,但当用户单击关闭时,它不会禁用。
jsFiddle:http://jsfiddle.net/pvSeL/
所以我想要实现的是,当用户选择一个复选框时,相关项目会被启用,而当他们取消选中复选框时,它们会被禁用。
【问题讨论】:
-
复选框的值不变。但是
checked状态发生了变化。与这个而不是复选框值进行比较。