2011-02-12 198 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');

相關問題