1

我想使用 jquery 获取列表框中存在的所有列表项,选择与否都没有关系。

这是我的客户端脚本:

<asp:ListBox ID="lstSelected" runat="server" SelectionMode="Multiple" Rows="10">
    <asp:ListItem Value="Employee_OID">EID</asp:ListItem>
    <asp:ListItem Value="EmpID">Emp ID</asp:ListItem>
    <asp:ListItem Value="Employee_Name">Name</asp:ListItem>
</asp:ListBox>
4

5 回答 5

6

通过向 ListBox 添加静态 ID (ClientIDMode="Static") 生成,您可以直接在 jQuery 中使用 ID 属性值(跳过 ClientID 使用):

<asp:ListBox ID="lstSelected" runat="server" SelectionMode="Multiple" Rows="10" ClientIDMode="Static">
    <asp:ListItem Value="Employee_OID">EID</asp:ListItem>
    <asp:ListItem Value="EmpID">Emp ID</asp:ListItem>
    <asp:ListItem Value="Employee_Name">Name</asp:ListItem>
</asp:ListBox>

jQuery 获取所有选项:

$('#lstSelected option')

jQuery 获取所有选定的选项:

$('#lstSelected option:selected')

在此处查看有关 ClientIDMode 的更多信息:http: //msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx

于 2012-10-22T13:53:53.253 回答
1

要获取元素客户端,您将需要使用以下ClientID属性ListBox

所有选项

$("#<%=lstSelected.ClientID %> option");

所有选定的选项

$("#<%=lstSelected.ClientID %> option:selected");
于 2012-10-22T13:45:21.147 回答
1

我无法评论 Neurotix 的声誉原因。虽然这对我有用,但我只需要在“这个”周围加上 $() 就可以了。

$('#lstSelected option').each(function(){


if($(this).val() == anyvalue)

//your code here

});
于 2016-12-22T23:39:17.487 回答
0

我想这应该可以解决问题:

$('#lstSelected option').each(function(){


if(this.val() == anyvalue)

//your code here

});
于 2012-10-22T13:46:31.867 回答
0
$("#<%= lstSelected.ClientID %>").find("option");
于 2012-10-22T13:46:51.193 回答