Jquery 从asp.net中的dropdownlist获取所选值
我一直试图从dropdownlist中获取所选项目的值,但它似乎不起作用。我看过其他的话题,我知道这个问题已经被问过好几次了,但我需要帮助。我尝试了以下代码:Jquery 从asp.net中的dropdownlist获取所选值,jquery,asp.net,drop-down-menu,Jquery,Asp.net,Drop Down Menu,我一直试图从dropdownlist中获取所选项目的值,但它似乎不起作用。我看过其他的话题,我知道这个问题已经被问过好几次了,但我需要帮助。我尝试了以下代码: $('ddlWorkHourFact option:selected').val() 但它返回“未定义”,我不知道为什么 这是我的下拉列表: <asp:DropDownList ID="ddlWorkHourFact" runat="server"> <asp:
$('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>
7.
8.
9
试试$('ddlWorkHourFact:selected').val()
您似乎缺少散列“#”符号…首先,请确保ID ddlWorkHourFact存在于HTML代码中。ASP.NET通常创建如下内容:ctl1\u ddlWorkHourFact。你可以用
ClientIDMode="Static"
为了避免这个问题。后来
$('#ddlWorkHourFact').val()
应该足够了。试试类似的方法
$('#ddlWorkHourFact').options[$('#ddlWorkHourFact').selectedIndex].val();
试试这个:
var _ddl = $("[id$='_ddlWorkHourFact']").attr("id");
_option = "#" + _ddl + " option:selected";
_value= $(_option).val();
Ktt
您需要了解,如果将控件放入内容等中,ASP.NET将在客户端生成不同的ID。之所以这样做是因为客户端中的ID应该是唯一的。如果你使用的是ASP.NET4.0,你可以按照Remy告诉你的去做
如果您不使用ASP.NET4.0,则不能这样做,但可以在jquery中进行“变通”
function GetClientID(id, context) {
var el = $("#" + id, context);
if (el.length < 1)
el = $("[id$=_" + id + "]", context);
return el;
}
这只是一个示例,您可以改进代码
编辑:
如果您在控件的同一页中执行此操作,也可以使用类似的内容
$('#<%= ddlWorkHourFact.ClientID %> option:selected').val();
$('#选项:选中').val();
好的,我找到了问题所在。我试图在页面加载时提醒它。页面启动时脚本正在运行。但是我把警报放在一个函数中,并以onclick的形式给出它,那么问题现在就结束了。感谢您的帮助您错过了工作时间开始前的#。可能是这样。另外,在客户端的浏览器中检查ASP.NET生成的ID。如果它仍然返回UnfinedEYEP,请检查我在下面提到的ID。ASP.NET生成自己的id。我也尝试过,id是“ContentPlaceholder 1_ddlWorkHourFact”。它返回未定义的still。您是否使用id前面的#进行了尝试?如果没有我在下面写的:选择?没有一个答案是正确的。它仍然返回“undefined”好吧,我知道问题出在哪里了。我正试图在页面加载时提醒它。页面启动时脚本正在运行。但是我把警报放在一个函数中,并以onclick的形式给出它,那么问题现在就结束了。谢谢你的帮助。我想在发出警报之前,下拉列表不会加载。这就是我遇到问题的原因。这是您上周所做评论的副本。不幸的是,在许多情况下,您无法将ClientMode设置为静态。我发现许多用于ASP.Net的第三方工具不喜欢这种方法。
$('#<%= ddlWorkHourFact.ClientID %> option:selected').val();