jQUery Mobile - как я могу вернуть значения при закрытии диалога? - PullRequest
2 голосов
/ 06 сентября 2011

У меня есть страница формы, которая открывает диалоговое окно для ввода новой информации. Я открываю диалог "стандартным" способом jQM:

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

Что мне нужно сделать, это вернуть некоторые из введенных значений, чтобы я мог обновить страницу этими значениями. Как мне это сделать?

В качестве дополнительного бонуса мне также нужно иметь возможность отправлять значения. Похоже, что jQuery Mobile настроен так, чтобы закрыть страницу по любой ссылке. Это приложение ASP.NET, поэтому мне нужно, чтобы страница длилась достаточно долго, чтобы вызвать событие Button_Click () в коде позади.

1 Ответ

0 голосов
/ 09 сентября 2011

Вот части, которые вам нужны:

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 - это функция, которая пишет вхранилище данных обновляет объект глобальной модели, который доступен для всех страниц, а затем вызывает функцию обратного вызова.

В обработчике просмотра страницы для родительской страницы обновите элементы управления из модели.Вы не можете обновить родительскую страницу непосредственно из диалогового окна, так как родительская страница может не существовать в этот момент - если data-dom-cache не установлен, она будет удалена, как только появится диалоговое окно, и не будет создана заново.пока ты не позвонишь близко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...