Для создания стиля ввода текста jQuery Mobile вы используете .textinput()
и для обновления вида существующего ввода текста jQuery Mobile вы используете .textinput("refresh")
.Поэтому при последующих вызовах вам нужно использовать метод .textinput("refresh")
, а при вводе текста без инициализации вам необходимо использовать .textinput()
.
Что-то вроде:
$('#editPartyName').val(party.name).textinput('refresh');
Мой опытс выбранными входами, но я считаю, что это то же самое для ввода текста, вот что я делаю для выбора для обновления представления:
$("select#foo").selectmenu("refresh");
Этот пример из документов: http://jquerymobile.com/demos/1.0b1/docs/forms/forms-selects.html (нижняя частьстраницы)
Обновление
Вам не нужно ничего делать, кроме как изменить значение элемента ввода:
$('#editPartyName').val(party.name)
Вот демонстрацияиспользование jQuery Mobile 1.1.0: http://jsfiddle.net/VbAKL/
А вот демонстрация с использованием jQuery Mobile 1.0B1: http://jsfiddle.net/VbAKL/1/
Существует высокая вероятность того, что эта проблема возникла из-за того, что вы выбираетепо идентификатору, и может быть несколько экземпляров идентификатора в DOM одновременно.Сайты jQuery Mobile могут иметь несколько «псевдостраниц» в DOM одновременно, и если у вас есть элемент на каждой странице с идентификатором #header
, то при попытке запустить выделение для #header
только для первого экземплярабудет возвращен.Так что ваш $('...').val(...)
вызов функции может работать, но не на нужном элементе.
Краткий ответ: убедитесь, что ваши идентификаторы уникальны для всех страниц вашего сайта при использовании jQuery Mobile.