我有两个页面,p1.html
和p2.html
与jQuery Mobile。
p1.html
中有一些链接,所有链接都导航到p2.html
,但差别不大。
我想将int
参数传递给p2.html
javascript(例如,链接号),因此p2.html
中的javascript代码会根据{{{{}}对其自身进行少量更改1}}参数(转换开始前)。
我想使用Ajax导航功能和jQuery Mobile的Transitions,而且我不想使用页面锚点(int
)。
如何将该参数发送到p2.html#6
?
答案 0 :(得分:2)
您可以使用cookies保存相关信息吗?
p1.html
<a href="p2.html" data-p2data="1">Link 1</a>
<a href="p2.html" data-p2data="2">Link 2</a>
<script type="text/javascript">
$(document).ready(function(){
$('a[data-p2data]').click(function(){
$.cookie('p2data', $(this).data('p2data'));
}
}
</script>
p2.html
<script type="text/javascript">
var p2data = $.cookie('p2data');
// .. process the page based on the value in p2data.
</script>
答案 1 :(得分:1)
从docs开始,没有内置的方法来在页面之间传递参数。
但是,您可以使用其中提到的其中一个插件(page-params或jquery-mobile-router),也可以使用localStorage或Cookie。
看看其中一些SO问题
Passing data between pages with jQuery Mobile?
答案 2 :(得分:1)
单击page1.html上的链接时,可以使用全局变量存储该数值:
$('a.special_link').click(function() {window.my_id = this.id});
...您将能够在page2.html中检索此内容,因为默认情况下JQM使用AJAXed导航,因此只能使用此变量保留在单个页面上:
$('document').on('pagebeforechange', function(toPage, data) {
if (toPage == 'page2.html') {
alert('you have clicked on link number: ' + window.my_id);
}
});