如何将联系人列表数据添加到PhoneGap ListView中

时间:2014-11-20 07:20:19

标签: javascript android jquery listview cordova

我有一个javascript函数,它将读取设备ContactList并将它们添加到一个javascript数组中。在我的HTML页面中,我已经取了listview。现在根据我的要求,我必须将这些数组数据添加到listview by jquery动态我无法做到。我在启动应用程序时无法在手机屏幕上看到任何内容..

这是我的移动联系人列表中的javascript代码..

        function onDeviceReady() {

         // specify contact search criteria
         var options = new ContactFindOptions();
         options.filter="";          // empty search string returns all contacts
         options.multiple=true;      // return multiple results
         filter = ["displayName"];   // return contact.displayName field

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

         var names = [];

        // onSuccess: Get a snapshot of the current contacts
        //
      function onSuccess(contacts) {
        for (var i=0; i<contacts.length; i++) {
           if (contacts[i].displayName) {  // many contacts don't have displayName
        names.push(contacts[i].displayName);
        }
        }
           alert('contacts loaded');

        } 

这是我的HTML listview ..

<div data-role="page" id="home" data-theme="c">

<div data-role="content">

<div id="header" class="header">
    <h1>Contact Directory</h1>
</div>

    <ul data-role="listview"  id="contactlist" data-theme="a">

    </ul>

</div>
</div>

所以,我的问题是如何通过jquery动态地将数组值添加到listview中。 感谢..

1 个答案:

答案 0 :(得分:0)

有几种方式,但这是一种方式。

创建一个简单的字符串变量来保存LI。 循环名称并附加到字符串&lt; li&gt; + names [x] +&lt; / li&gt;其中X是你的循环计数器。 使用jQuery获取UL dom,然后使用.html(s),其中s是你的字符串。

基本上你正在注射&lt; li&gt; ...&lt; / li&gt;&lt; li&gt; ...&lt; / li&gt;进入你的UL。

最后一步是刷新列表视图,以便jQuery正确显示它。这是使用此处定义的刷新API完成的:http://api.jquerymobile.com/listview/#method-refresh