我有一个像这样的ASP.NET下拉列表:
<asp:DropDownList ID="ddlMyDropDown" runat="server">
<asp:ListItem>Please pick one</asp:ListItem>
<asp:ListItem>option1</asp:ListItem>
<asp:ListItem>option2</asp:ListItem>
<asp:ListItem>option3</asp:ListItem>
<asp:ListItem>option4</asp:ListItem>
</asp:DropDownList>
绑定CustomValidator
,以查看用户是否选择了选项。它调用以下javascript / JQuery函数:
function checkValueSelected(sender, args) {
var index = $("#ContentPlaceHolder1_ddlMyDropDown").selectedIndex;
args.IsValid = index > 0;
}
但使用Firebug进行调试时索引为undefined
。 JQuery选择器找到select#ContentPlaceHolder1_ddlMyDropDown
,因此不问题。 selectedIndex
属性不存在吗?
在互联网上,我发现几乎完全一样的例子并且它有效。我很失落于这一个......
这就是Firebug所展示的:
正如您所看到的,control
变量是某种数组,其中一个条目实际上是我想要的control
。我不认为JQuery的ID选择器会返回多个值吗?
答案 0 :(得分:7)
selectedIndex
不存在......
你应该使用jquery的prop
...
var index = $("#ContentPlaceHolder1_ddlMyDropDown").prop('selectedIndex');
或
var index = $("#ContentPlaceHolder1_ddlMyDropDown").get(0).selectedIndex;