Safari не обновляет рендеринг SELECT при изменении выбранного варианта через jQuery

Используя jQuery, я пытаюсь изменить выбранный вариант в элементе SELECT, чтобы он соответствовал другому значению ввода:

$('#mySelect')
    .find('option')
        .filter(function() {
            return this.text == $('#selectedRejectReason').val(); 
        }).attr('selected', true)

Когда страница отображается, и этот JS работает, я вижу, как он обновляет DOM в веб-инспекторе Safari:

<select>    
    <option value="label">Select Reason</option>
<option value="Wrong Amount" selected="true">Wrong Amount</option>
<option value="Wrong Time">Wrong Time</option>
<option value="Wrong Place">Wrong Place</option>
</select>

Когда страница загружается, по умолчанию ни один из OPTIONS не имеет атрибута SELECTED... поэтому отображается первый элемент. Срабатывает jQuery, DOM обновляется, так что все выглядит так, как показано выше, но в Safari на странице по-прежнему отображается 'SELECT REASON'. В Firefox это работает нормально.

Есть идеи, почему? Похоже на ошибку Safari. Увы, это ломает наш сайт на iPhone.

Поискав, некоторые люди, похоже, исправили это, перейдя с jQuery 1.6 на 1.7. Увы, в данный момент у меня нет такой возможности. Но если это исправление, кто-нибудь знает, что изменилось, что исправляет это?

17
задан DA. 26 January 2012 в 19:25
поделиться