2013-01-23 2 views
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의 도움으로 끝날 수 있다면 좋을 것입니다.jQuery Rails 2.3

답변

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')); 
     } 
     } 
    }); 
관련 문제