0
我正在开发一个Jquery移动应用程序在cordova中,我想从远程Restful JSON结果构建整个页面,因为当服务器中的JSON发生更改时,此页面没有固定内容,移动应用程序还需要显示更改。从JSON动态创建Jquery移动页面
我能够获取JSON数据并能够在onDeviceready函数中构造JQuery标记元素并能够在警报中看到html标记。
但是当我将它添加到身体标记时,什么也不显示。在模拟器中获得一个空白页面。
有人可以告诉我做错了什么吗?建议正确的方法来实现它。
app.js
var firstPageContent = "";
var loadMainPage = function(ussdArray) {
var page = "<div data-role='page' id='home'> <div data-role='header' style='text-align:center;'>Company</div> <div data-role='content'>";
page += "<ul data-role='listview' data-theme='b' data-inset='true'>";
for (var x = 0; x < ussdArray.length; x++) {
page += "<li data-inline='true'><a href='tel:"+ussdArray[x].UC+"'>"+ ussdArray[x].desc + " </a></li>";
}
page += "</ul></div> <div data-role='footer'></div></div>";//<co>
firstPageContent += page;
};
$(document).on("deviceready", function(){
$.ajax({
url: "http://1-dot-pmuthuvel1.appspot.com/eussd/serv",
dataType: "text",
success: function(dataTest) {
var json = $.parseJSON(dataTest);
var ussdValuesArr = json.ussd;
loadMainPage(ussdValuesArr);
alert(firstPageContent);
$('body').html(firstPageContent);
}
});
});
的index.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=1">
<meta charset="utf-8">
<title>TestApp</title>
<link rel="stylesheet" href="css/app.css">
<link rel="stylesheet" href="css/themes/jquery.mobile.icons.min.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.4/jquery.mobile.structure-1.4.4.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.js"></script>
</head>
<body>
<script type="text/javascript" src="cordova.js"></script>
<script src="js/app.js"></script>
</body>
</html>
$('[data-role] = page')。trigger('create');对pagedisplay没有影响,仍然是空白 – 2014-10-07 19:19:20
我在浏览器中试过这个。获取对象不支持此属性或方法。 – 2014-10-08 04:51:25
选择器存在问题。试试这个$('[data-role = page]')。trigger('create'); – 2014-10-08 13:52:30