1
Here is mY table  structure,



  <table class="editable">
    <tbody id="contacts">
    <tr class="no_items">
    <tr class="title_with_items">
    <th>First Name</th>
    <th>Last Name</th>
    <th>e-mail</th>
    <th>Mobile</th>
    <th>Sender</th>
    <th>Sender e-mail</th>
    <th>Date</th>
    <th></th>
    </tr>
    <tr class="contact_container" style="display: none;">
    <tr class="contact_container">
    <td class="confirm">
    <td class="input">
    <input id="personal_event_event_contacts_attributes_1_first_name" type="text" value="test " size="12" name="personal_event[event_contacts_attributes][1][first_name]">
    </td>
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="action">
    </tr>
    <tr class="contact_container">
    <td class="confirm">
    <td class="input">
    <input id="personal_event_event_contacts_attributes_1_first_name" type="text" value="test " size="12" name="personal_event[event_contacts_attributes][1][first_name]">
    </td>
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="input">
    <td class="action">
    </tr>
    </tbody>
    </table>

我想在表中找到重复的联系人,这些联系人是由 jQuery 添加的,而不是在数据库中。我想将此表的记录与另一个属性数组匹配并查找重复项。如果可以在 Jquery 的帮助下完成,那就太好了。

4

1 回答 1

0

知道了!找了好久终于找到方法了

我将代码包装在一个函数中,并从已经存在的列表中找到我想要的元素数组,然后将它与我想要的列表匹配。

function confirm_imported() {
    var getval_array = [];
    $('imported_contacts_table').select('[name="confirm"]').each(function(check, index)     {
      if (check.checked) {
         // Checking if the records already exist in the list.
        var totalvalues =
          $('contacts').select('tr.contact_container').map(function(value,i) {
           $val = $(value);
             var getvalues = $val.select('td.input').map(function(value, index) {
               return $(value).select(value)[0].value;
             });
             var spreadvalues = $(check).up('tr').select('td.input').map(function(cval,     cin){
                return $(cval).select(value)[0].value;
             });
           // Matching records with each other one from the spreadsheet to all.
           if (!(getvalues<spreadvalues || spreadvalues<getvalues)){
             getval_array.push(spreadvalues)
             return 1;
           }
           else {
           return 0;
           }
         });
         if (jQuery.inArray(1, totalvalues) === -1) {
          $('contacts').insert($(check).up('tr'));
        }
      }
     });
于 2013-02-04T07:18:11.523 回答