我正在使用 Cordova
和 JQuery
制作一个 ios Web 应用程序。我创建了具有 3 行 ListView 的 index.html。单击该行时,页面将更改为另一个 page.html。根据点击的行,JS会向服务器询问数据并刷新page.html。
现在我的问题是实现它的最佳实践是什么?我的意思是这是常规的风格,因为我对前端很陌生。
目前我在index.html中添加 anchor :
<li><a href="page.html">A Header Bars</a></li>
但是,我遇到了问题:
- 不知道如何获取page.html中被点击的行信息
在page.html中,我如何启动请求来获取数据?在 page.html 中,我写道:
$(document).ready(function() { console.log("test"); document.write("page test"); })
但它没有被调用。
谢谢。
最佳答案
如果您想要从一个页面到另一个页面的值,您几乎没有选择(相同的规则适用于具有多个页面的单个 jQM html 以及围绕多个 html 文件构建的 jQM 项目):
我。在第二页上使用 pagebeforeshow 并通过数据对象检索所有需要的数据。假设您有 2 个 html 文件,第一个 html 的 id 为“page1”,第二个 html 的 id 为“page2”),例如:
$('#page2').live('pagebeforeshow', function (e, data) {
alert(data.prevPage.find('div[data-role="content"]').attr('id'));
});
二.第二个选项是创建一个将用作数据存储的共享对象:
var storeObject = {
someValue : '1',
anotherValue : '2'
}
这是一个最简单的解决方案,但它仅在 ajax 页面加载处于事件状态时有效。
三.您可以使用changePage传递值:
$.mobile.changePage('page2.html', { dataUrl : "page2.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });
并像这样阅读它们:
$('#page2').live('pagebeforeshow', function (e, data) {
var paremeter = $(this).data("url").split("?")[1];;
paremeter = paremeter.replace("paremeter=","");
alert(paremeter);
});
更多信息
如果您想了解有关此主题的更多信息,请查看此 article 。您将找到多种带有示例的解决方案。
关于jquery - Cordova &jquery :value sent to another static html page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928193/