我有像下面这样的复选框,它显示了一周中的所有日子。

复选框的值分别为1、2、3、4、5、6、7。
我需要在javascript中有一个验证逻辑,它验证用户是否点击了复选框,这是连续的日子。连续的日子可以从任何一天开始。喜欢,
星期三、星期四、星期五、星期六、星期日(4,5,6,7,1)
星期一,星期二,星期三,星期四,星期五,星期六(2,3,4,5,6,7)
星期六、星期日、星期一、星期二、星期三、星期四(7,1,2,3,4,5)
星期二,星期三,星期四,星期五,星期六,星期日(3,4,5,6,7,1)等。
应选择最少5天。用户不应该被允许像下面的例子那样选择:
星期六、星期日、星期一、星期三、星期四(7,1,2,4,5)
星期一、三、四、五、六(2,4,5,6,7)
星期二,星期四,星期五,星期六,星期日(3,5,6,7,1)
有没有办法在javascript/jquery中处理这个验证?
发布于 2013-05-14 12:57:01
如果您可以将选定的值放入数组中,那么
function test(values){
if(values.length !=5 ){
return false;
}
var expected = values[0], valid = true;
$.each(values, function(i, v){
if( expected != v){
valid = false;
return false;
}
expected = v == 7 ? 1 : v + 1;
})
if(!valid){
return false;
}
return true;
}演示:Fiddle
发布于 2013-05-14 12:47:12
function checkboxlimit(checkgroup, limit){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
checkgroup[i].onclick=function(){
var checkedcount=0
for (var i=0; i<checkgroup.length; i++)
checkedcount+=(checkgroup[i].checked)? 1 : 0
if (checkedcount>limit){
alert("You can only select a maximum of "+limit+" checkboxes")
this.checked=false
}
}
}
}将此内容添加到正文部分
checkboxlimit(document.forms.world.countries, 2) // here 2 states to select only two check boxhttps://stackoverflow.com/questions/16535257
复制相似问题