如何使用javascript检查重复行

时间:2013-07-30 05:51:31

标签: javascript duplicates rows

如何使用javascript检查表中的重复行?以下是我的代码的一部分:

<table id="t1"> 
 <tr>
   <td>Text A</td>
   <td>Text B</td>
   <td>Cbx A</td>

 </tr>

<% int count1 = -1;
   for(int i=0; i<3; i++) { %>
   <tr>
     <td><input type="text" id="textA<%=i%>"></td>
     <td><input type="text" id="textB<%=i%>"></td>
     <td><select name="cbx_A<%=i%>">   
           <option value="A">Option1</option>
           <option value="B">Option2</option>
         </select> 
     </td
   </tr>
<%count1 =i;
   }%>
   <tr>
     <td><input type="button" onclick="check(<%=count1%>)" value="Check"></td>
   </tr>
</table>

因此基于此代码,我将有3行文本A,textB和cbxA。有了这个,我如何检查用户是否为2行或所有3行输入相同的值? 我尝试过使用servlet,但涉及的工作太多了。所以,有没有办法用java脚本来做呢?

提前感谢您提供任何可能的帮助。

1 个答案:

答案 0 :(得分:0)

使用此代码,它将检查一个表列中的重复项 然后获取所有重复的表行并将其ID放入数组中 所以你将得到一个行数id 但是你的表必须有每行的id

var columnNumber = 1;
var table = document.getElementById('t1');
var rowLength = table.rows.length;
var arrReocrds = new Array();
var arrCount = 0;
var listCount = 0;
var arr = new Array();
 $('#t1 td:nth-child(' + colNumber + ')').each(function () {
            var recordValue = $(this).html().trim();
            var flagFirstTime = true;
            //loop through table to check redundant of current record value
            for (var i = 1; i < rowLength; i += 1) {
                {
                    var row = table.rows[i];
                    var recordId = //put here row.id or anything that you can put it in the list
                    var cell = row.cells[colNumber - 1];
                    var value = cell.innerText.trim();
                    if (value == recordValue) {
                        if (!arr.contains(value)) {
                            if (flagFirstTime != true) {
                                arrReocrds[arrCount] = recordId;
                                arrCount++;
                            }
                            else
                                flagFirstTime = false;
                        }
                        else
                            break;
                    }
                }
            }
            //create list for items in column 
            //to be sure that the item that has been taken and checked never be checked again by their other redundant records
            arr[listCount] = recordValue;
            listCount++;
        });