2011-11-03 104 views
14

我正在嘗試使用下面的代碼將一個選項添加到ASP.NET中的下拉列表中。任何想法,爲什麼這不起作用?我試過谷歌搜索,但無法弄清楚爲什麼這不起作用。如何使用jQuery將選項添加到下拉列表中?

代碼做什麼?我有一個ASP.NET下拉列表。我想按名稱訪問下拉列表並將項目添加到列表中。該項目應該具有「某些文本」的描述性文本和值「123」。

謝謝!

$("#ddlCategory").append($("<option>Some Text</option>").val(1).html("123")); 
+0

$(「」)是不是一個有效的選擇......請閱讀如何使用jQuery的選擇... –

+0

嘗試,如果你喜歡使用JavaScript HTTP這一個:// chiragrdarji。 wordpress.com/2007/06/06/add-items-in-drop-down-list-or-list-box-using-javascript/ –

+0

這不會讓它存儲在視圖狀態。如果你這樣做,確保你不依賴於普通的回發行爲/ viewstate。如果你是,那麼你應該公開一個Web方法,而不是稱之爲異步。 – Nikki9696

回答

11
var newOption = "<option value='"+"1"+"'>Some Text</option>"; 
$("#ddlCategory").append(newOption); 
+0

這工作。我也從使用控件ID更改爲使用類名稱。選擇器更改本身不起作用。 – DenaliHardtail

0

你有沒有測試:1)你的jQuery是正確的,並在工作平面HTML文件和2)您使用正確的Id - ASP.NET動態地更改ID n元素runat =「服務器」,所以你可能想嘗試:

$('#<%=ddlCategory.ClientID%>').append(...etc etc 

這將讓你從ASP.NET頁面類正確的Id。

+0

記得在調試過程中。我現在使用類選擇器而不是id。 – DenaliHardtail

0

如果你將其更改爲

$("#ddlCategory").append($("<option></option>").attr("value", "1").text("Some Text")); 
0

嘗試選項添加到與客戶端代碼的ASP.Net下拉列表是一個壞主意。它介紹了各種回發問題。有關更多詳細信息,請參閱this link。您應該完全在客戶端填充下拉列表,或者觸發部分回發來填充列表。

相關問題