0

我在使用 JQueryMobile 的列表视图项打开的对话框上设置文本框的值时遇到问题。

我可以更改值,前后通过警报验证,但显示的值不会改变。

这个概念是一个显示购物清单项目的列表视图。如果用户单击其中一个项目,则应显示一个对话框,其中包含用于编辑产品信息的表单。

我首先将 href 设置为对话框页面,并绑定到 onclick 事件。问题是该事件在页面加载之前运行,因此没有可用的项目。

接下来,我在“onclick”事件上以编程方式打开了对话框。

我可以更改值,但不显示更改。

相关片段如下。

提前感谢您的帮助。

此致

若昂

<ul data-role="listview" data-inset="true" data-split-theme="b" data-split-icon="star" id="shopping_list_listview" style="margin-bottom:0px"> 
<li>
     <a data-rel="dialog" data-transition="pop" href="#" onClick="loadData($(this))">
        <span class="product_name truncate" SAMPLE product</span>
     </a>
</li>

function loadData(obj)
        {

          $.mobile.changePage('product_dialog.html','pop',false,true) 

          var name = obj.find("span.product_name").text();

          alert ($("#popup-product-name").val());

          $("#popup-product-name").val(name);

          alert ($("#popup-product-name").val());

        }

4

1 回答 1

2

这样做,这是一个例子。

工作演示

标记

<!-- Page -->
<div data-role="page" id="p1">
 <p>Click on the text box to open dialog</p>
 <input type="text" id="two" /> <a data-role="button" href="#" id="btn">Move data to dialog</a>
</div>
<!-- /Page -->

<!-- Dialog -->
<div data-role="page" data-rel="dialog" id="dialog" data-theme="c" data-close-btn="right">
 <div data-role="header" data-position="fixed" data-theme="b">
  <h1>New values added!</h1>
 </div>

 <ul data-role="listview" id="list">
  <li><a href="#">old value</a>
  </li>
  <li><a href="#">some value</a>
  </li>
  <li><a href="#">text</a>
  </li>
 </ul>
</div>
<!-- /Dialog -->

代码

$(document).on('click', 'a#btn', function () {
 var value = $("#two").val();
 $.mobile.changePage("#dialog", {
    role: "dialog"
 });
 $('#list').find('a').text(value);
});
于 2013-04-04T15:11:43.877 回答