簡體   English   中英

從asp.net中的下拉列表中獲取所選值

[英]Getting the selected value from dropdownlist in asp.net

我一直試圖從下拉列表中獲取所選項目值,但似乎它無法正常工作。 我已經查看了其他主題,我知道這個questino已被多次詢問但我需要幫助。我使用了以下代碼部分:

$('ddlWorkHourFact option:selected').val()

但它讓我“未定義”,我不知道為什么。 這是我的下拉列表

<asp:DropDownList ID="ddlWorkHourFact"  runat="server">
                            <asp:ListItem Value="7" Text="7">7</asp:ListItem>
                            <asp:ListItem Value="8" Selected="True" Text="8">8</asp:ListItem>
                            <asp:ListItem Value="9" Text="9">9</asp:ListItem>
                        </asp:DropDownList>

首先,確保HTML代碼中存在ID ddlWorkHourFact。 ASP.NET經常創建這樣的東西:ctl1_ddlWorkHourFact。 您可以使用

ClientIDMode="Static"

避免這個問題。 然后

$('#ddlWorkHourFact').val()

應該夠了。

KTT,

您需要了解,如果您將控件放在內容等中,ASP.NET將在客戶端生成不同的ID。這樣做是因為客戶端的ID應該是唯一的。 如果您使用的是ASP.NET 4.0,則可以執行Remy告訴您的操作。

如果您不使用ASP.NET 4.0,則不能這樣做,但您可以在jquery中執行“解決方法”。

function GetClientID(id, context) {
var el = $("#" + id, context);
if (el.length < 1)
el = $("[id$=_" + id + "]", context);
return el;
}

有關此代碼的更多信息,請訪問此處

然后,您只需要執行以下操作:GetClientID(“txtboxId”)。attr(“id”)以獲取ID。

$("#" + GetClientID("ddlWorkHourFact").attr("id") + " option:selected").val();

這只是一個例子,你可以改進代碼。

編輯:

如果你在同一個控制頁面中這樣做,你也可以使用這樣的東西。

$('#<%= ddlWorkHourFact.ClientID %> option:selected').val();

嘗試$('#ddlWorkHourFact :selected').val()

好像你錯過了哈希“#”符號......

嘗試類似的東西

$('#ddlWorkHourFact').options[$('#ddlWorkHourFact').selectedIndex].val();

嘗試這個 :

   var _ddl = $("[id$='_ddlWorkHourFact']").attr("id");
    _option = "#" + _ddl + " option:selected";
    _value= $(_option).val();

好吧我想出了問題。 當頁面加載時我試圖提醒它。 頁面啟動時腳本正在運行。 但我把警報放在一個函數中並將其作為一個onclick,然后問題就結束了。 謝謝你的幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM