我正在使用phongap和jquery mobile来构建一个应用程序,该应用程序应该使用JSON列出wordpress博客中的最新帖子,然后允许您单击该文章,然后转到显示完整帖子的页面。 我的代码可以列出所有文章,但问题是应该在div中显示完整文章的代码不起作用。 我有以下代码:
<html>
<link href="jquery-mobile/jquery.mobile-1.0a3.min.css" rel="stylesheet" type="text/css"/>
<script src="jquery-mobile/jquery-1.5.min.js" type="text/javascript"></script>
<script src="jquery-mobile/jquery.mobile-1.0a3.min.js" type="text/javascript"></script>
<script src="phonegap.js" type="text/javascript"></script>
<script>
function onBodyLoad(){
document.addEventListener("deviceready",onDeviceReady,false); }
$(function(){
$.ajax({
url: "http://blog.smartapplications.co.zw/?json=get_recent_posts",
dataType: 'jsonp',
success: function(json_results){
console.log(json_results);
// Need to add UL on AJAX call or formatting of userlist is not displayed
$('#blogList').append('<ul data-role="listview" data-inset="true" data-theme="d" data-divider-theme="e" data-count-theme="b"></ul>');
listItems = $('#blogList').find('ul');
$.each(json_results.posts, function(key) {
html = '<h3><a href="#post_id_'+json_results.posts[key].id+'">'+json_results.posts[key].title+'</a></h3>';
listItems.append('<li>'+html+'</li>');
});
// Need to refresh list after AJAX call
$('#blogList ul').listview();
$.each(json_results.posts, function(key){
div_html='<div data-role="page" id="#post_id_'+json_results. posts[key].id+'"><div data-role="header"><h1>'+json_results. posts[key].title +'</h1></div><div data-role="content ">'+json_results. posts[key].text+'</div></div>';
$('#content_blog').html(div_html);
});
}
});
})
</script>
</head>
<body onload = "onBodyLoad();">
<div data-role="page" id="page">
<div data-role="header">
<h1>Home</h1>
</div>
<div data-role="content">
<ul data-role="listview">
<li><a href="#page1">Latest Articles</a></li>
</ul>
</div>
</div>
<div data-role="page" id="page1">
<div data-role="header">
<h1>Latest Articles</h1>
</div>
<div data-role="blog_content" style="padding:0px;">
<div id="blogList"></div>
</div>
</div>
<div id="content_blog" data-role="slider">
</div>
</div>
</body>
</html>
答案 0 :(得分:3)
尝试做
$('#blogList ul').listview("refresh");
而不是
$('#blogList ul').listview();
答案 1 :(得分:0)
你做错了!在这里:
$('#blogList').append('<ul data-role="listview" data-inset="true" data-theme="d" data-divider-theme="e" data-count-theme="b"></ul>');
你关闭然后你正在添加
listItems.append('<li>'+html+'</li>');
<li>
应位于<ul>
代码内。