我有以下代碼,我正在使用成功生成手機上的所有聯繫人列表或搜索所有聯繫人的結果。我使用名稱和電話號碼,一個聯繫人的多個記錄顯示爲多個列表條目,就像我想要的那樣。我遇到的問題,也許我錯過了一些明顯的東西,那就是我無法在列表中顯示任何其他字段。我試着給下一個字段的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。
那麼列表生成成功,每個聯繫人記錄一個列表項,找到所有聯繫人並執行搜索時顯示相應的編號。你對contact_name ID正確無誤,很好。由於我的名單和電話號碼正確無誤,所以我認爲這不是冒泡的問題。我認爲它與這條線有關: – jkuhns5
for(var j = 0; j
jkuhns5