如何使用JQuery在下拉列表中选择默认值

时间:2011-02-12 05:27:54

标签: jquery asp.net json drop-down-menu

我想在下拉列表中选择“Algeria”作为默认选择值。我使用JSON数据格式的处理程序(LoadCountryList.ashx)从数据库中获取countrylist,并使用Jquery的$ .getJSON precedure将其绑定到aspx页面上的dropdownlist如下所示

function AddOptions(objSelect)
{
    var URL ="~/LoadCountryList.ashx";
    $.getJSON(URL,function(countries){
        $.each(countries,function(){
            var vCountry = this['Country'];
            $(objSelect).append($("<option></option>").val(this['ID']).html(vCountry));
        });
    });
}

最后我试图将其默认值设置为“阿尔及利亚”。

$(objSelect).find("option[text='Algeria']").attr("selected","selected"); 
OR
$(objSelect).find("option[value='3']").attr("selected","selected");

但它没有用。有人建议我怎么做。

enter image description here

更新

此外,我想显示等待消息,例如正在加载......直到从数据库中获取完整的国家/地区列表。

5 个答案:

答案 0 :(得分:3)

要按值执行,您只需使用val()(docs)方法。

$(objSelect).val('3');

通过文字内容,最安全的方法是使用filter()(docs)方法。

$(objSelect).find('option').filter(function() {
    return this.text === 'Algeria';
}).attr('selected','selected');

编辑:确保您在里面回调getJSON()来电。

答案 1 :(得分:1)

$(objSelect).val("Algeria");

应该这样做。

答案 2 :(得分:0)

这应该有效:

$(objSelect).val("3");

答案 3 :(得分:0)

试试这个: -

$(objSelect).combobox("destroy");     
$(objSelect).val("Algeria");
$(objSelect).combobox();

答案 4 :(得分:0)

yoy也可以尝试这个

$(objSelect).VAL(&#39; 1&#39);