val () из jquery иногда не работает для элемента select в IE - PullRequest
0 голосов
/ 13 марта 2012

Просто проверьте следующий код.

<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

<script type="text/javascript">
 function s() {
    supplier = jQuery('#sup').val();
    status = jQuery('#sta').val();
    alert('Supplier:'+supplier+'#Status:'+status); 
 }
</script>

       <select id="sup">
            <option value="empty">Supplier</option>
            <option value="1">supplier1</option>
            <option value="2">supplier2</option>
        </select>

        <select id="sta">
            <option value="empty">Status</option>
            <option value="1">status1</option>
            <option value="2">status2</option>

        </select>

        <button type="button" onclick='s()'>Show</button>

Когда я нажимаю кнопку показа, я получаю значение статуса в FF. Но в т. Е. Оповещение показывает, что статус содержит пустую строку.

Обратите внимание, что поставщик и статус имеют одинаковую структуру. Значение поставщика становится правильно в обоих браузерах.

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Он сломан, потому что вы используете глобальную переменную status, которую следует использовать для установки сообщений в строке состояния.Вам нужно ввести: var status в вашей функции s, а не status или просто использовать другое имя переменной.

См. Эту скрипку: http://jsfiddle.net/HPR3w/2/ с внесенными изменениями.Я протестировал его в IE9, и теперь он работает.

0 голосов
/ 13 марта 2012

Попробуйте:

function s() {
   var supplier = jQuery('#sup').val();
    var status = jQuery('#sta').val();
    alert('Supplier:'+supplier+'#Status:'+status); 
 }

Один Должен объявить локальную переменную с ключевым словом var.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...