Почему заполнитель меню jQuery Mobile select не работает должным образом в версии веб-приложения для iOS? - PullRequest
2 голосов
/ 27 ноября 2011

Я создаю веб-приложение для iOS с помощью jQuery mobile, и окно выбора правильно превращает первый параметр без значения в заголовок во всплывающем окне выбора, который нельзя выбрать, однако при добавлении на домашний экран в качестве веб-приложения iOS всплывающее меню выбора, затем имеет невыбираемый заголовок, а также параметр с именем в качестве выбираемого параметра ...

Вот моя разметка:

<div data-role="page" id="home"> 
    <div data-role="header" data-position="fixed">
        <h1>GWG</h1>
    </div> 
    <div data-role="content" id="homeContent">
        <fieldset data-role="controlgroup" data-type="vertical">
            <select id="selManufacturer" data-native-menu="false">
                <option>Manufacturer</option>
            </select>
            <select id="selModel" data-native-menu="false">
                <option>Model</option>
            </select>
        </fieldset>
    </div> 
    <div data-role="footer" data-position="fixed" data-id="thefooter">
        <h4>Created by: Thomas Dexter</h4>
    </div> 
</div>

И мой JavaScript:

//Manufacturer select box
$('#selManufacturer').empty();
$('#selManufacturer').append('<option>Manufacturer</option>');
for (var i=0; i<json.phones.manufacturers.length; i++) {
    $('#selManufacturer').append('<option value="' + i + '">' + json.phones.manufacturers[i].name + '</option>');
}
$('#selManufacturer').selectmenu();
$('#selManufacturer').selectmenu('refresh');

//Model select box
$('#selModel').empty();
$('#selModel').append('<option>Model</option>');
for (var i=0; i<json.phones.models.length; i++) {
    $('#selModel').append('<option value="' + i + '">' + json.phones.models[i].model + '</option>');
}
$('#selModel').selectmenu();
$('#selModel').selectmenu('refresh');

И если вы хотите добавить приложение на домашний экран iOS, чтобы увидеть проблему, перейдите на

http://tsdexter.com/gwg

и нажмите «добавить на главный экран»

(в настоящее время только модели айфонов, я знаю, что фильтрация по производителям в настоящее время не реализована)

ОБНОВЛЕНИЕ: Похоже, что это может быть проблема с кэшированием версии, прежде чем я правильно добавил заполнитель. Буду делать дальнейшее тестирование и отправлять обратно.

Если это проблема - кто-нибудь знает, как очистить кэш веб-приложений iOS на домашнем экране? Я удалил приложение, закрыл все страницы в Safari, принудительно закрыл Safari, затем открыл его и снова добавил веб-приложение, и оно все еще не работало. Кажется, единственное, что исправило, - это ожидание 20-30 минут, а затем обновление ...

...