JQuery Mobile и передача переменных в ссылках через строку запроса - но строка запроса не обновляется - PullRequest
1 голос
/ 31 октября 2011

Я делаю приложение PhoneGap с JQuery Mobile, и у меня есть две страницы, одна с динамическим списком страниц, а другая с формой для редактирования или создания страницы. Они находятся в одном HTML-файле.

Нажатие на элемент списка проходит? Action = edit и нажатие на кнопку «Добавить», которая у меня есть, передает? Action = add querystrings.

Вот jsfiddle для визуализации страниц

ПРИМЕЧАНИЕ. Пример не действует так же, как живой код.

Я запускаю свое приложение на телефоне Android, и если я выполняю эти действия, в окне предупреждения будет отображаться правильный запрос: -

  1. Нажмите кнопку добавления на странице списка
  2. Нажмите обратно на странице формы
  3. Нажмите на ссылку редактирования элемента списка на странице списка

Однако, если я делаю это с другой стороны, почему-либо (нажмите сначала «Редактировать», затем кнопку «Добавить»), нажатие кнопки «Добавить» никогда не показывает строку запроса добавления в окне предупреждения. (пример jsfiddle всегда блокирует строку запроса первой нажатой ссылки, которая даже хуже, чем живой код!)

1 Ответ

5 голосов
/ 01 ноября 2011

Проблема в том, что вы используете несколько шаблонов для этого.Если вы используете это как отдельные страницы, это будет работать как обычно.Для нескольких приложений лучший способ справиться с этим - заставить ссылку инициировать настройку некоторой глобальной переменной, которая отслеживает текущее состояние приложения.

Создайте ссылки для редактирования следующим образом

 <a href="javascript:editPage(15)">Page 15</a>

Затем сделайте скрипт примерно так:

var editingId = 0

function editPage(id){
    editingId = id;
    $.mobile.changePage("#editingPage");
});

$("div#editingPage").live("pageshow", function(){
    loadDataForPage(editingId);
});
...