10

我有一个这样的 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>

ACustomValidator绑定到它,以查看用户是否选择了选项。它调用以下 javascript/JQuery 函数:

function checkValueSelected(sender, args) {
        var index = $("#ContentPlaceHolder1_ddlMyDropDown").selectedIndex;
        args.IsValid = index > 0;
    }

但索引是undefined在使用 Firebug 进行调试时。JQuery 选择器找到select#ContentPlaceHolder1_ddlMyDropDown,所以这不是问题。财产不selectedIndex存在吗?

在互联网上,我找到了几乎完全相同的示例并且它有效。我对这个很迷茫......

更新

这是 Firebug 显示的内容:

检查

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

4

1 回答 1

8

selectedIndex不在这里 ...

你应该使用propjquery ...

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

或者

 var index = $("#ContentPlaceHolder1_ddlMyDropDown").get(0).selectedIndex;
于 2012-05-06T13:09:19.567 回答