我在jQuery Mobile中工作。
当你点击Page1时,我正在使用PHP将页面的ID设置为隐藏的输入。
<input type="hidden" name="frmlid" id="frmlid" value="<?=$page_id;?>" />
当我点击一个按钮时,它会执行一些jQuery,它会抓取frmlid的值并提醒它。这很好。
$(btnShowComments).bind('touchstart mousedown', function(e){
e.preventDefault();
var frmlid = $("#frmlid").val();
alert(frmlid);
});
现在,让我说我从Page1上的链接导航到Page2。 jQM做了它的事情并加载它所做的任何花哨的ajax。 Page2与Page1相同,通过PHP设置输入值。
这次点击btnShowComments时,它会提醒前一页page_id(Page1)而不是Page2。
如何在jQM加载新页面时不断更新?如果我右键单击并查看Page2上的源,则输入的值实际上是Page2。但似乎我的jQuery代码没有更新/获取新值。
任何提示?
答案 0 :(得分:0)
使用jqm当你打开第一页时,所有页面实际上都在加载,所以无论你在哪个页面,都会加载和渲染所有页面,但它只显示你所在的页面。
所以首先你不能(最好不要)在所有页面中都有一个具有相同id的输入,而是使用class。
和第二个假设您在每个页面上都有一个按钮,其中隐藏输入靠近它,您必须获得最近的输入到tuched按钮 即与按钮
在同一页面中的输入你也可以找到按钮的父div,然后在div中找到输入
<input type="hidden" name="frmlid" class="frmlid" value="<?=$page_id;?>" />
和jq代码
$(btnShowComments).bind('touchstart mousedown', function(e){
e.preventDefault();
var frmlid = $(this).closest('.frmlid').val();
alert(frmlid);
});