Значение списка выборки, неопределенное в $ (документ) .ready

У меня есть следующий код, который я хочу загрузить значения на изменении выбора и также делаю загрузку выбора первоначально (так как FF 'сохраняет' последнее значение выпадающего при определенных обстоятельствах).

Избранная часть функции работает правильно, но по некоторым причинам при вызове load2 непосредственно значение $('#select1').value undefined, даже при том, что, когда я проверяю DOM в Firebug прямо после загрузки select1.value имеет значение.

Как я могу работать load2 функция после select1.value готово? Из чего событие скажет мне когда все элементы $('#select1') были инициализированы?

$(document).ready(function() {
    //Setup change hook 
    $('#select1').change(function(event) {
        //Remove the old options right away
        $('#select2').find('option').remove();
        //Load the new options
        load2(this.value);
    });

    //Do load for current value
    load2($('#select1').value);
});
5
задан C. Ross 22 March 2010 в 12:42
поделиться

2 ответа

AFAIK объект jQuery не имеет поля value . Следовательно, я ожидаю, что следующий оператор передаст значение undefined функции load2 () :

load2($('#select1').value);

Однако объект jQuery имеет значение val ( ) функция. Попробуйте использовать это вместо:

load2($('#select1').val());

В качестве альтернативы вы сможете получить доступ к значению поля DOM следующим образом:

load2($('#select1').get(0).value);
7
ответ дан 14 December 2019 в 08:47
поделиться

Если я правильно понимаю, вы можете проверить, существует ли значение, а затем запустить его:

if ($('#select1').value) {
    load2($('#select1').value);
}
0
ответ дан 14 December 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: