У меня есть следующие в JQuery мобильный:Программным закрыть несколько диалогов JQuery Mobile сразу
<script type="text/javascript">
$("#locate_results").live("pageinit", function(event) {
$("#venues li a").click(function(e) {
e.preventDefault();
// Update location
$(".ui-dialog").each(function() { $(this).dialog("close"); });
});
});
</script>
<div data-role="page">
<div data-role="header">My Form</div>
<div data-role="content">
... other content ...
<a href="#locator" data-rel="dialog">Choose a Location</a>
</div>
</div>
<div data-role="dialog" id="locator">
<div data-role="header">Search for a Location</div>
<div data-role="content">
<form action="/locate" method="post" data-rel="dialog">
<input type="text" name="query" />
<input type="submit" value="Search" />
</form>
</div>
</div>
Выходной сигнал/местонахождение выглядит следующим образом:
<div id="locate_results" data-role="dialog">
<div data-role="header">Search Results</div>
<div data-role="content">
<ul id="venues" data-role="listview">
<li><a href="#">Venue 1 Name</a></li>
... more results ...
</ul>
</div>
</div>
Так по существу,
- Пользователь нажимает ссылку «Добавить местоположение».
- Расположение Форма поиска загружается в диалоговом
- Результаты поиска загружаются во втором диалоговом
- Пользователь нажимает на результат поиска во втором окне.
Шаг 5 должен быть закрыт двумя диалоговыми окнами, возвращая пользователю исходное содержимое страницы. Однако закрывается только самый верхний диалог (#locate_results). Я также попытался следующий и получил тот же результат:
$("#locate_results").dialog("close");
$("#locator").dialog("close");
и
$(".ui-dialog").dialog("close");
Я попытался следующие ответы, не повезло:
Что было бы правильным способом закрыть все открытые диалоги в jQuery M OBILE?
jsFiddle демонстрирует вопрос:
Проводка jsFiddle было бы здорово. –