好吧,一段时间以来,我一直在为这个问题而烦恼,我在网上尝试了很多解决方案,但都没有奏效。
我需要的是在页面加载时将数据从 json 提供给 listview 并呈现它,但它只适用于索引,之后我需要重新加载每个页面,这样我才能看到 listview。
这是我的jQuery代码:
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
});
$(document).bind('pageinit',function() {
DrawPageContent();
});
function DrawPageContent() {
$.ajax({
dataType: "json",
url: "js/categorias.json",
success: function(msg){
console.log(msg.categorias[1].nombre);
var categos = '';
for(var i=0;i<msg.categorias.length;i++){
categos += '<li><a href="refrescos.html?id='+ 0 +'"><img src="'
+ msg.categorias[i].logo + '"><h2>'+msg.categorias[i].nombre
+ '</h2><p>' + msg.categorias[i].desc + '</p></a></li> ';
}
$("#categorias").html(categos);
$("#categorias").listview("refresh");
//$("#page").trigger("pagecreate");
}
});}
我也尝试过 $(document).ready() 和其他一些东西。
这是该部分的 HTML:
<div id="page" data-role="page">
<div data-role="header">
<h1>Categorias</h1>
<a href="#popupOpciones" data-rel="popup" data-position-to="window" data-role="button" data-inline="true" data-icon="gear" data-theme="b" data-transition="pop">Opciones</a>
</div>
<div data-role="content">
<ul id="categorias" data-role="listview" data-inset="true">
</ul>
任何想法如何解决这一问题?