0

我在 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 代码没有更新/获取新值。

有小费吗?

4

1 回答 1

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);
}); 
于 2013-02-14T02:45:25.453 回答