在$(document).ready中选择未定义的列表值

时间:2010-03-21 23:58:26

标签: dom jquery

我有以下代码,我想在选择更改时加载值,并且最初也进行选择加载(因为FF'在某些情况下保存'下拉列表的最后一个值)。

该函数的选择部分正常工作,但由于某种原因直接调用load2$('#select1').value的值为undefined,即使我在Firebug中检查DOM之后load 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);
});

2 个答案:

答案 0 :(得分:6)

AFAIK jQuery对象没有任何value字段。因此,我希望以下语句将值undefined传递给load2()函数:

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

然而,jQuery对象具有val()函数。请尝试使用它:

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

或者,您应该能够像这样访问DOM字段value

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

答案 1 :(得分:0)

如果我理解正确,您可以检查是否存在值,然后运行它:

if ($('#select1').value) {
    load2($('#select1').value);
}