我在使用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());
}
答案 0 :(得分: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);
});