查找表的同一行中的两个文本框是否具有相同的值

时间:2014-03-01 09:54:44

标签: jquery

如何使用JQuery查找表的同一行中的两个文本框是否具有相同的值?

想象一下,我们有一个包含许多行和列的表格,每个单元格都有一个文本框。

实际上,一旦提交表单,就应该检查表格中每一行的重复条目。

以下是示例:

<form action="">
    <table class="table" data-month="12">
        <thead>
            <tr>
                <th>column 1</th>
                <th>column 2</th>
                <th>column 3</th>
                <th>column 4</th>
            </tr>
        </thead>
        <tbody>

            <!-- start - row1 -->
            <tr>
                <td class="cell">
                    <input type="text" value="" name="name1">
                </td>
                <td class="cell">
                    <input type="text" value="" name="name2">
                </td>
                <td class="cell">
                    <input type="text" value="" name="name3">
                </td>
                <td class="cell">
                    <input type="text" value="" name="name4">
                </td>
            </tr>                       
            <!-- end - row1 -->

            <!-- start - row2 -->
            <tr>
                <td class="cell">
                    <input type="text" value="" name="name5">
                </td>
                <td class="cell">
                    <input type="text" value="" name="name6">
                </td>
                <td class="cell">
                    <input type="text" value="" name="name7">
                </td>
                <td class="cell">
                    <input type="text" value="" name="name8">
                </td>
            </tr>       
            <!-- end - row2 -->

        </tbody>
    </table>

    <button type="submit">Submit</button>
</form>

1 个答案:

答案 0 :(得分:1)

试试此代码

          $('#check').click(function(){
         var idx = {};
        $('.unique').each(function(){
       var val = $(this).val();
      if(val.length)
            {
             if(idx[val]){
                  idx[val]++;
             }
              else{
               idx[val] = 1;   
             }
                }
            });
            var gt_one = $.map(idx,function(e,i){return e>1 ? e: null});
            var isUnique = gt_one.length==0
           alert(isUnique); 
           });