我已经搜索了stackoverflow但没有找到一个合适的解决方案来以编程方式更改jqm页面并传递一个(get)参数.我是jqm的新手,所以也许我在使用changePage()函数传递数据时遇到了问题.
使用jquery mobile 1.1.1和jquery 1.8.0
我有一个列表,并希望所有项目都指向同一个#profile页面.在那个页面上我想用ajax/json加载适当的数据.
<ul data-role="listview" data-theme="a">
<li><a href="#profile">Martin</a></li>
<li><a href="#profile?id=2">Johnny</a></li>
<li><a href="#" onclick="changePage()">Luke</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
第一个链接工作,但没有id传递(显然)
第二个链接不工作抛出异常(在chrome中):未捕获错误:语法错误,无法识别的表达式:#profile?id = 3
第三个链接使用此功能:
function changePage() {
$.mobile.changePage("#profile", { data: {id:1} });
//alert('page changed.');
return false;
}
Run Code Online (Sandbox Code Playgroud)
它会更改页面但是url是basefile.html?id = 1但它应该是basefile.html #profile?id = 1
任何人都可以帮忙吗?非常感谢.
在jquery mobile中的页面之间传递参数的正确方法是什么.在jquery mobile的Q&A中,有一些关于插件的建议.这是强制性的吗?请让我知道正确的方法.没有一个具体的答案.我必须传递页面中所有链接的参数.
http://view.jquerymobile.com/master/demos/faq/pass-query-params-to-page.php
我正在寻找一种干净的方式在JQuery Mobile中做一件非常简单的事情.
当链接到要加载到Dom的内部页面时,我想阅读查询参数.
所以在下面的例子中我想访问url的id = test2部分.
<div data-role="page" id="page1">
<a href="#page2?id=test2">Go to page 2</a>
</div>
<div data-role="page" id="page2">
<a href="#page1?id=test1">Go back to page 1</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我使用pagecontainerbeforeshow来执行加载页面的代码,但是我不知道如何访问查询参数.
$(document).ready(function(){
$( "body" ).on( "pagecontainerbeforeshow", function( event, ui ) {
console.log("How to get the Query Params?");
});
});
Run Code Online (Sandbox Code Playgroud)
这是这个代码的小提琴:http://jsfiddle.net/wpgs06r1/6/