我正在努力学习自己的jQuery Mobile。我觉得这很酷,但是我被困在了什么东西。如果我想这样称呼:
$j.mobile.changePage({ url: $j("#News"), data: "apple=banana", type: "GET"}, "slide", true, true);
它似乎不起作用。我真的不知道用jQuery传递数据,所以可能我做错了。
亲切的问候,Senne
编辑:抱歉,把错误的代码放在那里......
答案 0 :(得分:1)
据我所知 - url必须是真实的网址或是另一个div[data-role=page]
澄清:
提供ID会显示当前文档中可用的另一个div(您可以创建包含多个页面的html文件)。
另外 - jquerymobile只加载一次页面,并将其添加到文档中供以后参考。稍后将不会触发服务器端操作。 (我不确定它如何使用提供的数据处理调用)
答案 1 :(得分:1)
基于反复试验,这就是我看到的情况:
因此,在服务器上执行时,基本URL似乎必须不同才能更新当前视图。
答案 2 :(得分:0)
我遇到了一个场景,我需要在项目上捕捉点击事件并显示一个加载的页面(相同的html文件),其中包含已点击项目的详细信息。我找到的解决方案半依赖于一些事情,但是:
将tap事件附加到导致页面转换的元素(甚至是导致页面转换有问题的函数)允许您创建如下函数:
function PageTransitionHandle(oEvent)
{
// Set your stored data to a global object
oYourNamespace.DataObject = oDataObject;
// not necissary if already linked to other page but useful when attaching to
// an image or other element
$.mobile.changePage("#otherPageId");
}
并在下一页的pageshow事件中:
function PageInit()
{
var oPageData = oYourNamespace.DataObject;
// Handle using data from here (i.e calling webmethod using parameters
// or setting data according to object)
}
由于使用了ajax加载方法,这可能适用于外部页面和内部页面,但我还没有测试过。这对于传递参数甚至整个数据对象以定义其他场,或者让用户信息跟随它们,实际上是非常有用。
要看的另一条路线是Local Storage,但我还没有亲自看过这个