我有一个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中。 感谢..
答案 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