2011-02-12 89 views
2

我想在下拉列表中选择“阿尔及利亚”作为默认选定值。我使用JSON数据格式的处理程序(LoadCountryList.ashx)从数据库中提取countrylist并绑定它使用jQuery的$ .getJSON aspx页面上DROPDOWNLIST precedure下面给出如何使用jQuery在下拉列表中选择默认值

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

UPDATE:

此外,我想显示等待消息像载入中...直到它从数据库中获取完整的国家名单。

+0

不能你这样做的。每个循环 – 2011-02-12 05:30:40

回答

3

要做到这一点,你可以使用val()(docs)方法。

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

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

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

编辑:确保你这样做回调到getJSON()通话。

+0

它也不起作用。 – Sukhjeevan

+0

感谢patric它像魅力一样。实际上我在getJSON()函数之外做这个工作,这就是为什么它不工作,感谢很多。 – Sukhjeevan

+0

还有一件事,我想显示等待消息像加载...直到它从数据库中获得完整的国家列表。你告诉我,我该怎么做。 – Sukhjeevan

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

应该这样做。

+0

我试过,但不起作用 – Sukhjeevan

0

试试这个: -

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

同比也可以试试这个

$(objSelect).VAL( '1');

相关问题