类似下面的表格检查每行最小值和最大值是否有交叉 
说白了就是 第一行填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.   

    你的table才3行,叫人怎么看你的1,5交叉效果,头疼
      

  2.   


    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+"行交叉");
    }
    }
    }
    }
      

  3.   

    读出一行的最大值和最小值,放入一个二维数组里,push进另一个数组里下一行拿最大和最小值与上面的二维数组里的值比较,如果在二维数组的区间里面则为交叉,
    看你后续如何做,可以直接继续重复之前的push动作,也可以根据需求调整相关区间
      

  4.   

    我使用了jquery,使用时注意<html>
        <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>