2014-02-11 26 views
1

我有以下代碼,我正在使用成功生成手機上的所有聯繫人列表或搜索所有聯繫人的結果。我使用名稱和電話號碼,一個聯繫人的多個記錄顯示爲多個列表條目,就像我想要的那樣。我遇到的問題,也許我錯過了一些明顯的東西,那就是我無法在列表中顯示任何其他字段。我試着給下一個字段的j變量添加一個「或者」,並且一旦我將下一個字段添加到列表中,它就會返回相同的結果。我始終如一地獲得結果,但我無法獲得結果顯示。我也試圖找出一種方法來添加另一個「for」循環,但正如預期的那樣,他們總是隻過濾了已經過濾的結果,通常只給了我一個結果。在下面的js,任何幫助表示讚賞。我無法像Cordova那樣做一個小提琴。使用科爾多瓦顯示聯繫人的所有信息iOS

// search below 
    var fields = ["givenName", "familyName", "name", "emails", "phoneNumbers", "addresses", "organizations"], 
     options = new ContactFindOptions(); 
    var filter = $('#contacts_filter')[0].value 

    // set Options 
    options.filter = (filter && filter !== "Search All") ? filter : ""; 
    options.limit = 15; //doesn't work for some reason 
    options.multiple = true; 


//find function 
    navigator.contacts.find(fields, function (foundContacts) { 

//if their are results  

     if (foundContacts.length > 0) { 
      $("#contact_list").html("<h5 style='text-align: center'>" + foundContacts.length + " results found.</h5>"); 

      for (var i = 0; i < foundContacts.length; i++) { 
if(null != foundContacts[i].phoneNumbers) 
    { 

      for(var j=0; j < (foundContacts[i].phoneNumbers.length); j++) 
     { 

     $('#contact_list').append("<li><h2>" + foundContacts[i].name.familyName + ", " + foundContacts[i].name.givenName + "</h2><p>" + foundContacts[i].addresses[j].streetAddress + "</p><p>" + foundContacts[i].phoneNumbers[j].value + "</p></li>"); 

     } 
     } 
    } 

     } else { 
      $("#contact_list").html("<h5 style='text-align: center'>No Contacts Found!</h5>"); 
     } 

edit:extraneous id removed。

回答

0

如果您肯定會得到結果並且不顯示,那麼它可能不是您現有代碼的問題,而是您動態添加的結果。如果你使用的是jQuery Mobile,請確保你清爽;作爲一個方面說明,我做過類似於你的代碼之前,如果你在第一個之後每個連續的條目都有問題,那麼它是因爲你沒有清空我通過在我的代碼:

navigator.contacts.displayName.empty(); 

但是,我敢肯定,如果你返回false;它可能會阻止數據在聯繫人對象中冒泡。

確保你只使用你的id一次,否則使它成爲一個類,每當它通過該循環時,你都添加了相同的「contact_name」id。

+0

那麼列表生成成功,每個聯繫人記錄一個列表項,找到所有聯繫人並執行搜索時顯示相應的編號。你對contact_name ID正確無誤,很好。由於我的名單和電話號碼正確無誤,所以我認爲這不是冒泡的問題。我認爲它與這條線有關: – jkuhns5

+0

for(var j = 0; j jkuhns5

1

我想通過研究phoneGap論壇。我沒有在我的循環中允許空答案。所以加入if(foundContacts[i].addresses != null解決了這個問題。感謝大家的幫助。

相關問題