在下拉列表中使用jQuery未定义selectedIndex

时间:2012-05-06 12:49:21

标签: javascript jquery drop-down-menu selectedindex

我有一个像这样的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所展示的:

inspect

正如您所看到的,control变量是某种数组,其中一个条目实际上是我想要的control。我不认为JQuery的ID选择器会返回多个值吗?

1 个答案:

答案 0 :(得分:7)

selectedIndex不存在......

你应该使用jquery的prop ...

var index = $("#ContentPlaceHolder1_ddlMyDropDown").prop('selectedIndex');

 var index = $("#ContentPlaceHolder1_ddlMyDropDown").get(0).selectedIndex;