for(var i=0i<counti++){
var beginDate_i = 开始时间_i
var endDate_i = 结束时间_i
for(var x=0x<countx++){
var beginDate_x = 开始时间_x
var endDate_x = 结束时间_x
if (i!=x){
//判断时间是否交叉
if((endDate_i=="" &&endDate_x=="")||
(parseInt(beginDate_i)<=parseInt(endDate_x) &&endDate_i=="")||
(parseInt(endDate_i)>=parseInt(beginDate_x) &&endDate_x=="")||
(parseInt(beginDate_i)>parseInt(beginDate_x) &&parseInt(beginDate_i)<=parseInt(endDate_x))||
(parseInt(endDate_i)>=parseInt(beginDate_x) &&parseInt(endDate_i)<=parseInt(endDate_x))||
(parseInt(beginDate_i)<=parseInt(beginDate_x) &&parseInt(endDate_i)>=parseInt(endDate_x))){
alert("第"+(i+1)+"条记录与第"+(x+1)+"条记录时间交叉",111)
return
}
}
}
}
}
双层循环判断同一个“视同缴费年限记录”,并且跳过下标相同的情况
<script>function checkthis(tmp)
{
var str1=tmp
var checkvalue=str1.split(",")
//alert(checkvalue[1])
var chk=document.getElementsByName('checkn')
for (i=0 i<chk.lengthi++)
{
if (chk[i].checked &&chk[i].value!=str1)
{
chkvalue=chk[i].value.split(",")
if((checkvalue[0]<chkvalue[1]&&checkvalue[0]>chkvalue[0])||(checkvalue[1]<chkvalue[1]&&checkvalue[1]>chkvalue[0]))
{
alert(str1+" 和 "+chk[i].value+" 冲突!")
return(false)
break
}
}
}
return(true)
}
</script>
<body>
开始时间是2:00结束时间是4:00 <input type="checkbox" name="checkn" id="c1" value="2,4" onclick="return(checkthis(this.value))"><br>
开始时间是3:00结束时间是5:00 <input type="checkbox" name="checkn" id="c2" value="3,5" onclick="return(checkthis(this.value))"><br>
开始时间是4:00结束时间是6:00 <input type="checkbox" name="checkn" id="c3" value="4,6" onclick="return(checkthis(this.value))"><br>
开始时间是5:00结束时间是7:00 <input type="checkbox" name="checkn" id="c4" value="5,7" onclick="return(checkthis(this.value))"><br>
</body>
以上代码仅供参考,在我本机测试通过的。你可以修改checkbox里面的value值