2014-10-10 2 views
-1

У меня есть функция JQuery, которая находит элемент в меню выбора HTML по его стоимости и выбирает его (see the JSFiddle here):не удается выбрать из выпадающего меню с JQuery на IPad

$(function() { 
    var select = $("#selectElement"); 
    var option = $("#selectElement option:contains('SERV')"); 
    option.attr("selected", "selected"); 
    option.siblings('option').removeAttr('selected'); 
    select.trigger("change"); 
    alert($("#selectElement :selected").text()); 
}); 

HTML:

<select data-theme="a" data-overlay-theme="b" data-mini="true" data-native-menu="true" data-shadow="false" id="selectElement"> 
    <option id="o1" value="o1v">null</option> 
    <option id="o2" value="o2v">MAIN</option> 
    <option id="o3" value="o3v">MN VL</option> 
    <option id="o4" value="o4v">MTRST</option> 
    <option id="o5" value="o5v">SERV</option> 
    <option id="o6" value="o6v">STA</option> 
    <option id="o7" value="o7v">TRANS</option> 
</select> 

В Chrome в Windows 7 это работает отлично, и выбор был изменен на «SERV», как ожидалось. Но в Chrome в iPad значение по умолчанию «null» по умолчанию выбрано, поэтому ничего не произошло.

Использование jQuery's val() ничего не делает на любой платформе.

Я не думаю, что это похоже на загрузку сценария в неподходящее время; если я поставил предупреждения в вопрос о значениях select и o, они выглядят отлично.

Почему это происходит?

+0

На всякий случай, вы попытались поместить функцию внутри $ (document) .ready() http://learn.jquery.com/using-jquery-core/document-ready/ – EkoostikMartin

+0

В нашем действительном коде оно выполняется внутри '$ (document) .on (" pageshow ")'. Кажется, не имеет значения. –

ответ

0

я завелся делает другое решение полностью, но я заметил, что это было (еще раз), вероятно, преступник:

$(function() { 
    ... 
})(); 

Я снова забыл эти закрывающие скобки.

Смежные вопросы