2011-05-19 110 views
12

我想在JQuery中獲取.NET下拉列表的值,但我只能獲取選定項目的ID,而不是選定的值。是否有可能做到這一點?這是我當前的代碼,它獲取所選項目的ID:使用jQuery從.NET下拉菜單中獲取選定的值

alert($('#<%=ddlReportPeriods.ClientID %>').val()); 
+0

該代碼確實獲得了元素的值,而不是id。使用類似Firebug或開發者控制檯來檢查您的實際頁面。也許你想在你的下拉列表中選擇'

回答

28

嘗試

alert($('#<%=ddlReportPeriods.ClientID %> option:selected').text()); 
+2

這是可以工作的語法,雖然有一個錯字,它應該是:alert($('#<%= ddlReportPeriods.ClientID% > option:selected')。text()); – user517406 2011-05-19 13:36:25

+0

高興地幫助:) – Devjosh 2011-05-19 13:41:14

+0

感謝發佈! – user517406 2011-05-19 15:15:30

4

如果是同一個普通的HTML下拉框,你可以嘗試

$('#<%=ddlReportPeriods.ClientID %> option:selected').val() 
+0

語法錯誤,無法識別的表達式:#<%= contactStateDDL.ClientID%>選項: – JSON 2016-09-15 13:31:06

0

如果您想要的是<select>元素下當前選擇的<option>標籤的文本內容,那麼您可以這樣做:

var $sel = $('#<%=ddlReportPeriods.ClientID %>'); 
alert($($sel.attr('options')[$sel.attr('selectedIndex')).text()); 

編輯 —其他的答案與建議使用「:選擇」預選賽是比這更好的...

1

試試這個:

alert($('#<%=ddlReportPeriods.ClientID %> OPTION:selected').val()); 
4

您可以設置的屬性ASP.NET控件在運行時不會更改ID,即

ClientIDMode = "Static" 

然後嘗試,

alert($("#ddlReportPeriods option:selected").val()); 
0
<asp:DropDownList ID="ddMainMenuList" runat="server" class="form-control"> 
         </asp:DropDownList> 

$("[id*=ddMainMenuList]").val("SomeValue"); 

這是你可以指定某個值到下拉或文本框或任何其他ASP的控制方式。只是你必須提到「身份證」。

+0

問題要求獲得價值的解決方案,而不是改變它。 – 2016-01-09 03:58:25

相關問題