我想动态地将通过JSOn格式的URL接收的数据附加到我的listview.但我无法弄清楚它是如何工作的.
移动网站以下列格式检索对象:
[
{"id":1,"start":"2011-10-29T13:15:00.000+10:00","end":"2011-10-29T14:15:00.000+10:00","title":"Meeting"}
]
在.html中我有一个列表视图和一个函数,我尝试附加接收的数据.我只展示身体.
<body>
<div>
<ul id="listview">
<script>$.getJSON("url",function(data){
$.each(data,function(i,data){
i.title.appendTo("#listview");
});});</script>
</ul>
</div>
</body>
可能它很容易,但我是网络编程的新手,我无法弄清楚我应该如何追加检索到的数据.
有人可以帮帮我吗?
解决方法
//make AJAX call to url
$.getJSON("url",function(data){
//declare a variable with which to build our output (it's best to buffer output and only do one append at the end since DOM manipulation is cpu expensive)
var output = '';
//iterate through the data (we Could also get rid of the jQuery here by using `for (key in data) {
$.each(data,function(index,value){
//add each value to the output buffer (we also have access to the other properties of this object: id,start,and end)
output += '<li>' + value.title + '</li>';
});
//Now append the buffered output to the listview and either refresh the listview or create it (meaning have jQuery Mobile style the list)
$('#listview').append(output).listview('refresh');//or if the listview has yet to be initialized,use `.trigger('create');` instead of `.listview('refresh');`
});
这是上述解决方案的一个小问题(还有一个使用for(){}而不是$.each()的例子:http://jsfiddle.net/VqULm/