我正在使用以下代码以编程方式使用phonegap更改我的应用中的页面:
$('#selection').change(function() {
alert($(this).val());
$.mobile.changePage($("#about"), "slideup");
});
当用户更改选择时,警报将触发,理论上应将它们发送到以下jquery对象。
<div data-role="page" id="about" data-id="about">
<div data-role="header" data-position="fixed" data-nobackbtn=”false”><h1>About Us</h1></div>
<div data-role="content">
<p>Information about the company</p>
</div>
</div>
该对象适用于普通链接
<span><a href="#about" data-transition="fade">About Us</a></span>
但我不能让它在浏览器中或在手机间隙内加载程序。
有什么想法吗?我一定要查找API一百万次。
完整的HTML如下:
<!DOCTYPE HTML>
<html>
<head>
<title>Header</title>
<script type="text/javascript" charset="utf-8" src="js/phonegap-0.9.3.js"></script>
<link rel="stylesheet" href="css/jquery.mobile-1.0a1.min.css" />
<script src="js/jquery-1.4.3.min.js"></script>
<script src="js/jquery.mobile-1.0a1.min.js"></script>
<script src="js/mycustomjs.js"></script>
<script type="text/javascript">
// PhoneGap is loaded and it is now safe to make calls PhoneGap methods
//
function onDeviceReady() {
function reachableCallback(reachability) {
// There is no consistency on the format of reachability
var networkState = reachability.code || reachability;
var states = {};
states[NetworkStatus.NOT_REACHABLE] = 'No network connection';
states[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'Carrier data connection';
states[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK] = 'WiFi connection';
alert('Connection type: ' + states[networkState]);
}
navigator.network.isReachable('phonegap.com', reachableCallback);
}
</script>
</head>
<body>
<!-------------- INDEX PAGE ------------------------------------>
<div data-role="page" id="home">
<div data-role="header" data-position="fixed" data-nobackbtn=”false”>
<h1 header</h1>
</div>
<div data-role="content">
<p>Thank you for downloading our app</p>
<div data-role="fieldcontain">
<label for="selection" class="select">Please select an industry</label>
<select name="selection" id="selection">
<option value="choice1">choice1</option>
</select>
</div>
</div>
</div>
<!-------------- ABOUT PAGE ------------------------------------>
<div data-role="page" id="about" data-id="about">
<div data-role="header" data-position="fixed" data-nobackbtn=”false”>
<h1>About Us</h1>
</div>
<div data-role="content">
<p>Information about the company</p>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
您正在使用jquery-mobile 1.0 alpha 1,它看起来有一个截然不同的API。例如,changePage具有以下签名[1]:
function changePage( from, to, transition, back )
我认为(尽管没有尝试)你可以使用
$.mobile.changePage($('#home'), $('#about'), 'slide-up', false);
虽然我认为升级到1.0 beta2(最新版本)会更好,除非与手机屏幕不兼容会让你无法使用它(据我所知,没有任何内容)。如果您升级,您的上述代码应该可以正常运行。
。[1]:https://github.com/jquery/jquery-mobile/blob/1.0a1/js/jquery.mobile.js#L159
答案 1 :(得分:1)
我认为您需要将选项作为对象而不是字符串。
所以也许尝试使用以下代码:
$.mobile.changePage($("#about"), { transition: "slideup"});