jquery Mobile - 如何在关闭对话框时传回值?

时间:2011-09-06 15:11:29

标签: asp.net jquery-mobile

我有一个表单页面,可以打开一个对话框以输入新信息。我以“标准”jQM方式打开对话框:

<a href="foo.html" data-rel="dialog">Open dialog</a>

我需要做的是传回一些输入的值,以便我可以使用这些值更新页面。我该怎么做?

作为额外的奖励,我也真的需要能够提交值。似乎jQuery Mobile设置关闭任何链接点击页面。这是一个ASP.NET应用程序,所以我需要让页面持续足够长的时间才能在后面的代码中点击Button_Click()事件。

1 个答案:

答案 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,则会在对话框显示后立即将其删除,并且不会重新创建直到你打电话给你。