我有一个限制复选框选择的 javascript 代码。
它采用给定页面中复选框的数量,并且只允许选中其中的 30%。
这是代码:
function chkcontrol(j) {
var length = document.forms['form1'].elements['item[]'].length;
var max = Math.round(length * 0.3);
var total = 0;
for(var i = 0; i < length; i++){
if(document.forms['form1'].elements['item[]'][i].checked){
total = total + 1;
}
if(total > max){
alert("MAX 33%") ;
document.forms['form1'].elements['item[]'][i].checked = false ;
return false;
}
}
}
它工作正常,但我想设置一个绝对最小保证数量的可选复选框。
在简单的文本中,这是我试图实现的规则:
- 允许 30% 的复选框,并且如果 30% 的限制允许少于 5 个复选框 --> 允许 5 个。
例子:
页面中有 7 个复选框,仅允许 2 个。 (限制为 2,小于保证的最小值 5 --> 脚本应提高限制以允许 5)
任何想法如何做到这一点? 在 php 中,一个简单的 IF 条件就可以解决问题,但我对 javascript 不熟悉!
最佳答案
为什么不用像这样简单的东西:
var max = Math.max(5, Math.round(length * 0.3));
max
是 5 或计算出的 30% 中的最大值 - 这样,max
绝不会小于 5。
关于javascript - 允许在复选框限制脚本中进行最小选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10152670/