Ktt*_*Ktt 3 asp.net jquery drop-down-menu
我一直试图从下拉列表中获取所选项目值,但似乎它无法正常工作.我已经查看了其他主题,我知道这个questino已被多次询问但我需要帮助.我使用了以下代码部分:
$('ddlWorkHourFact option:selected').val()
Run Code Online (Sandbox Code Playgroud)
但它让我"未定义",我不知道为什么.这是我的下拉列表
<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>
Run Code Online (Sandbox Code Playgroud)
Rem*_*emy 13
首先,确保HTML代码中存在ID ddlWorkHourFact.ASP.NET经常创建这样的东西:ctl1_ddlWorkHourFact.您可以使用
ClientIDMode="Static"
Run Code Online (Sandbox Code Playgroud)
避免这个问题.然后
$('#ddlWorkHourFact').val()
Run Code Online (Sandbox Code Playgroud)
应该够了.
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;
}
Run Code Online (Sandbox Code Playgroud)
有关此代码的更多信息,请访问此处.
然后,您只需要执行以下操作:GetClientID("txtboxId").attr("id")以获取ID.
$("#" + GetClientID("ddlWorkHourFact").attr("id") + " option:selected").val();
Run Code Online (Sandbox Code Playgroud)
这只是一个例子,你可以改进代码.
编辑:
如果你在同一个控制页面中这样做,你也可以使用这样的东西.
$('#<%= ddlWorkHourFact.ClientID %> option:selected').val();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23528 次 |
| 最近记录: |