我有一个表单页面,可以打开一个对话框以输入新信息。我以“标准”jQM方式打开对话框:
<a href="foo.html" data-rel="dialog">Open dialog</a>
我需要做的是传回一些输入的值,以便我可以使用这些值更新页面。我该怎么做?
作为额外的奖励,我也真的需要能够提交值。似乎jQuery Mobile设置关闭任何链接点击页面。这是一个ASP.NET应用程序,所以我需要让页面持续足够长的时间才能在后面的代码中点击Button_Click()事件。
答案 0 :(得分:0)
以下是您需要的部分:
对话框中的Html:
<a href="#"data-role="button" data-rel="back" data-theme="c">Cancel</a>
<a href="#" id="btnSave" data-role="button" data-theme="b" data-transition="pop">Submit</a>
在pagecreate中:
$("#btnSave", pagediv).live('click', function () {
var s = page.Model;
s.serverName = $("#txtName", pagediv).val();
s.Save(function () {
$('.ui-dialog').dialog('close');
});
});
s.Save是一个函数,它写入数据存储区,更新所有页面都可访问的全局模型对象,然后调用回调函数。
在父页面的pageshow处理程序中,更新模型中的控件。您无法直接从对话框更新父页面,因为此时父页面可能不存在 - 如果未设置data-dom-cache,则会在对话框显示后立即将其删除,并且不会重新创建直到你打电话给你。