大佬教程收集整理的这篇文章主要介绍了jQuery选择多个属性并选中/取消选中另一个复选框,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<input type="checkBox" value="F" name="eph-ds[2457][]"> <input type="checkBox" value="PR" name="eph-ds[2457][]"> <input type="checkBox" value="DPH" name="eph-ds[2457][]"> <input type="checkBox" value="F" name="eph-ds[2450][]"> <input type="checkBox" value="PR" name="eph-ds[2450][]"> <input type="checkBox" value="DPH" name="eph-ds[2450][]">
其中[数字]是动态创建的.
示例:如果选中“F”,则取消选中“PR”.如果选中“PR”,则取消选中“F”.如果选中“DPH”,则取消选中全部.
$(":checkBox").change(function() { var current = this.value; if (current == "F") { $(":checkBox[value=PR]").prop("checked",falsE); } if (current == "PR") { $(":checkBox[value=F]").prop("checked",falsE); } if (current == "DPH") { $(":checkBox[value=F]").prop("checked",falsE); $(":checkBox[value=PR]").prop("checked",falsE); } });
此代码正常,但如果我取消选中第二行中的复选框,则第一行中的复选框也将取消选中:
var $this,num,val; $('input[name^="eph-ds["]').click(function() { $this = $(this); num = $this.attr('name').split('[')[1].replace("]",""); val = $this.val(); if (val=="F"){ $('input:checkBox[name="eph-ds['+num+'][]"][value="PR"]').prop('checked',falsE); }else if (val=="PR"){ $('input:checkBox[name="eph-ds['+num+'][]"][value="F"]').prop('checked',falsE); }else if (val=="DPH"){ $('input:checkBox[name="eph-ds['+num+'][]"]').not($this).prop('checked',falsE); } });
笔记:
>在顶部声明的变量,因此无需在每次复选框单击时重新声明它们
>当检查DPH时,jsfiddle添加禁用F和PR(否则在检查DPH框后,用户可以检查PR或F).
>无需将您的复选框作为组查询(如前一个响应者所建议的那样)
>如果难以理解,这条线可以分为三行:
num = $this.attr(‘name’).split(‘[‘)[1] .replace(“]”,“”);
name = $this.attr(‘name’); //返回eph-ds [####] []temp = name.split(‘[‘)[1]; //返回####]num = temp.replace(“]”,“”); //删除尾随]
以上是大佬教程为你收集整理的jQuery选择多个属性并选中/取消选中另一个复选框全部内容,希望文章能够帮你解决jQuery选择多个属性并选中/取消选中另一个复选框所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。