如何从Jquery PhoneGap应用程序获取设备联系号码列表

时间:2013-10-07 07:44:40

标签: jquery cordova

我正在尝试在我的Jquery mobile-phoneGap应用中创建一个联系人检索表单。我想要做的是按名称搜索联系人,并将结果联系人的号码放入另一个输入字段。我从昨天起就开始研究这个问题,但仍然无法使其发挥作用。 --- Phonegap版本2.9.0

这是我的代码

$('#findContactBtn').click(function(){

var options = new ContactFindOptions();
options.filter = "";      
options.multiple = true;  

filter = $('#nameField').value(), 

navigator.contacts.find(filter, onSuccess, onError, options); 

 })

function onSuccess(contacts) {
for (var i=0; i<contacts.length; i++) {
//return the result number here
$('#messageNumber').attr('value', contact[0].phoneNumbers[0].value);

 }
};


 function onError(contactError) {
alert('onError!');
}       

HTML

<div data-role="content">

 <label for="nameField">Search Contact</label>
  <input type="search" name="nameField" id="nameField" value=""  />
  <input type="submit" value="Send Message" id="findContactBtn" />


  <label for="messageNumber">Number:</label>
  <input type="tel" name="messageNumber" id="messageNumber" value=""  />

  </div>

如果有人能提供帮助,我真的很高兴,谢谢你

1 个答案:

答案 0 :(得分:0)

首先安装插件 https://github.com/apache/cordova-plugin-contacts

转到您需要的页面列表并编写此代码

  document.addEventListener("deviceready", onDeviceReady, false);



     function onDeviceReady() {

           var options = new ContactFindOptions();
           options.filter="";
           options.multiple=true;
           var fields = ["*"];
          navigator.contacts.find(fields, onSuccess, onError, options);
        }
        //on success handler
        function onSuccess(contacts)
        {
           for (var i = 0; i < contacts.length; i++)
            {
              $("#contactList").append("<li>"+contacts[i].phoneNumber[0].value+"</li>");
              $("#contactList").listview("refresh");
            }
        }
    //error handler
        function onError()
        {
          alert("Some Error Occured");
        }

 </code>