类似下面的表格检查每行最小值和最大值是否有交叉
说白了就是 第一行填1和5 第二行填3和6就是有交叉
<html>
<head>
<script language="javascript">
function check(){
}
</script>
</head>
<body>
<table border="1" align="center">
<tr>
<TD><input name='minValue' type='text' id='minValue'></TD>
<TD><input name='maxValue' type='text' id='maxValue'></TD>
</tr>
<tr>
<TD><input name='minValue' type='text' id='minValue'></TD>
<TD><input name='maxValue' type='text' id='maxValue'></TD>
</tr>
<tr>
<TD><input name='minValue' type='text' id='minValue'></TD>
<TD><input name='maxValue' type='text' id='maxValue'></TD>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" onclick="check();" value="check" style="width: 40">
</td>
</tr>
</table>
</body>
</html>
说白了就是 第一行填1和5 第二行填3和6就是有交叉
<html>
<head>
<script language="javascript">
function check(){
}
</script>
</head>
<body>
<table border="1" align="center">
<tr>
<TD><input name='minValue' type='text' id='minValue'></TD>
<TD><input name='maxValue' type='text' id='maxValue'></TD>
</tr>
<tr>
<TD><input name='minValue' type='text' id='minValue'></TD>
<TD><input name='maxValue' type='text' id='maxValue'></TD>
</tr>
<tr>
<TD><input name='minValue' type='text' id='minValue'></TD>
<TD><input name='maxValue' type='text' id='maxValue'></TD>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" onclick="check();" value="check" style="width: 40">
</td>
</tr>
</table>
</body>
</html>
function check(){
var tbl = document.getElementsByTagName("table")[0];
var rn = tbl.rows.length;
for (var i=0;i<rn-1 ;i++ )
{
var minv = parseFloat(tbl.rows[i].cells[0].firstChild.value);
var maxv = parseFloat(tbl.rows[i].cells[1].firstChild.value);
for (var j=0;j<i ;j++ )
{
var min = parseFloat(tbl.rows[j].cells[0].childNodes(0).value);
var max = parseFloat(tbl.rows[j].cells[1].childNodes(0).value);
if ( (minv>=min && minv<=max )|| (min>=minv && min<=maxv))
{
alert("第"+i+"行和第"+j+"行交叉");
}
}
}
}
看你后续如何做,可以直接继续重复之前的push动作,也可以根据需求调整相关区间
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="js/jquery-1.3.2.min.js">
</script>
</head>
<body>
<table border="1" align="center">
<tr id="tr0">
<td>
第1行
</td>
<TD>
<input type='text' onpaste="return false;">
</TD>
<TD>
<input type='text' onpaste="return false;">
</TD>
</tr>
<tr id="tr1">
<td>
第2行
</td>
<TD>
<input type='text' onpaste="return false;">
</TD>
<TD>
<input type='text' onpaste="return false;">
</TD>
</tr>
<tr id="tr2">
<td>
第3行
</td>
<TD>
<input type='text' onpaste="return false;">
</TD>
<TD>
<input type='text' onpaste="return false;">
</TD>
</tr>
<tr>
<td colspan="3" align="center">
<input type="button" value="check" style="width: 40">
</td>
</tr>
<tr>
<td colspan="3" id="result">
</td>
</tr>
</table>
</body>
</html>
<script language="JavaScript">
$(function(){
$('input[type=text]').keyup(checkInput);
$('input[type=button]').click(check);
})
//文本框只能输入数字
function checkInput(){
this.value = this.value.replace(/[^\d]/g, "");
}
//检查有没有交叉
function check(){
var trArr = $('[id^=tr]');
for (var i = 0; i < trArr.length; i++) {
var min = parseInt(trArr.eq(i).find("input").eq(0).val());
var max = parseInt(trArr.eq(i).find("input").eq(1).val());
if (min > max) {
$('#result').append(trArr.eq(i).find("td").eq(0).html() + "数据不合格");
continue;
}
//正常比较
for (var j = i + 1; j < trArr.length; j++) {
var biJiaoMin = parseInt(trArr.eq(j).find("input").eq(0).val());
var biJiaoMax = parseInt(trArr.eq(j).find("input").eq(1).val());
if(biJiaoMin>biJiaoMax){
continue;
}
//有交集
if(!(min>biJiaoMax || max<biJiaoMin)){
$('#result').append(trArr.eq(i).find("td").eq(0).html() + "与"+trArr.eq(j).find("td").eq(0).html()+"有交集<br>");
}
}
}
}
</script>