0

如何使用 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脚本来做到这一点?

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

4

1 回答 1

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++;
        });
于 2014-01-01T17:18:27.177 回答