Установка выбора по умолчанию в меню выбора в JQuery Mobile?
Я пытаюсь установить выбор по умолчанию в меню выбора в JQuery Mobile. Документы имеют это:
var myselect = $("select#foo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");
Который я добавил прямо под тем, где я создаю меню, но затем, когда я запускаю код, я получаю эту ошибку:
throw "не может вызвать методы" + name + "до инициализации; " + "попытался вызвать метод" + options + "'";
Не уверен, что делать на этом этапе...
3 ответа
Вы пытаетесь манипулировать объектами DOM с помощью еще не загруженного JavaScript. Переместите javascript за форму, которой вы пытаетесь манипулировать, или добавьте свой код в функцию, которая выполняется при загрузке документа.
Например:
$('#PAGE').live('pagecreate',function(event){
var myselect = $("select#foo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");
});
где PAGE
является идентификатором загружаемой страницы, которая содержит меню, которым вы хотите управлять.
РЕДАКТИРОВАТЬ:
Я обновил пример для использования события создания страницы JQuery Mobile на основе комментария jinyuan относительно событий JQuery Mobile.
Как функция jQuery:
$.fn.jqmSelectedIndex = function(index){
var self = $(this)
self
.prop('selectedIndex', index)
.selectmenu("refresh");
return self;
}
$("select#foo").jqmSelectedIndex(3);
Это не подтверждено, но работает.
Оно работает. может быть, вы захотите предоставить более подробную информацию.