此代码用于 4 个复选框。
当前 3 个框被选中时,第 4 个需要被选中,当第 4 个未选中时,前 3 个应取消选中,如果所有 4 个框都选中并且前 3 个中的一个未选中,则第 4 个应取消选中。
问题是此代码需要使用不同的 id 重复 7 次。即#a1 将是#b1 或#a4 将是#d4。
$('#a1, #a2, #a3, #a4').change(function() {
if ($(this).is('#a1, #a2, #a3')) {
if ($('#a4').prop('checked', true)) {
$('#a4').prop('checked', false);
}
if ($('#a1:checked').length === $('#a1').length && $('#a2:checked').length === $('#a2').length && $('#a3:checked').length === $('#a3').length) {
$('#a4').prop('checked', true);
}
}
if ($(this).is('#a4')) {
if ($(this).prop('checked')) {
$('#a1, #a2, #a3').each(function(){
$(this).prop('checked', true);
});
}
else {
$('#a1, #a2, #a3').each(function(){
$(this).prop('checked', false);
});
}
}
});
谢谢大家
https://jsfiddle.net/cwLhdcwL/
要拆分复选框块,请使用:data-area
属性。
#a4, #b4, ...
元素应该用data-role="cb-master"
属性标记,而#a[1..3], #b[1..3], ...
元素应该用data-role="cb-child"
属性标记。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句