jquery-mobile:无法在对话框中更改输入值

时间:2013-04-04 14:46:12

标签: javascript jquery-mobile input

我在使用JQueryMobile的listview项打开的对话框上设置文本框的值时遇到了麻烦。

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

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

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

接下来,我打开了关于“onclick”事件的programaticaly对话框。

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

相关的片段如下:

提前感谢您的帮助。

最好的问候

若昂

<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());

        }

1 个答案:

答案 0 :(得分:2)

这样做,这是一个例子。

Working Demo

<强>标记

<!-- 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);
});