如何使用 jquery 获取所选 Asp.net checkBoxList 项目的索引及其文本值
如何使用 jQuery 获取所选 ASP.NET CheckBoxList 项目的索引及其文本值
我使用了列出的代码,但它对我不起作用。
前两行将返回带有“未定义”字符串的消息,
var index = $('#<%=chkListGroups.ClientID %>').attr("selectedIndex");
alert(index);
后两行将返回空消息。
var text = $('#<%=chkListGroups.ClientID %>').val();
alert(text);
How to get the index of selected ASP.NET CheckBoxList items and the text value of it using jQuery
I used the code listed but it did not work with me.
First two lines will return message with "undefined" string
var index = $('#<%=chkListGroups.ClientID %>').attr("selectedIndex");
alert(index);
second two lines will return empty message.
var text = $('#<%=chkListGroups.ClientID %>').val();
alert(text);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
应该打印索引。
如果“文本值”是指从 ASP.NET 中 ListItem 元素的 Value 属性返回的内容,则它不会自动直接包含在网页中。解决此问题的一种方法是在页面的 .NET 代码中创建 Value 属性的 javascript 数组,然后使用与上面类似的方法来查找数组中的值。如果该数组称为“valueArray”,那么您可以将上面“if”正文中的代码替换为
我希望这有帮助——我当然欢迎任何问题。
编辑(以下提交者的评论):
如果您想要每个选中项目的可见标签,这应该有效:
should print the indices.
If by "text value" you mean what would be returned from the Value property of the ListItem element within ASP.NET, it is not directly included in the web page automatically. One way to address this issue would be to create a javascript array of the Value properties within the .NET code for the page, then use something similar to the above to look up the value in the array. If the array is called "valueArray", then you would could replace the code in the body of the "if" above with
I hope this helps -- I certainly welcome any questions.
EDIT (following comment by submitter):
If you want the visible label of each checked item, this should work:
编辑:误读了您原来的问题 - 相应更新此答案。
ASP.NET 将 checkBoxList 控件呈现为一系列复选框(您可以使用 firebug 轻松查看呈现的控件)。我相信它会根据您指定的 ID 分配每个复选框的 ID。例如:
在 HTML 中呈现为:
您可以通过以下方式确定某个框是否被选中:
您还可以通过以下方式找到它们:
... 然后使用 jQuery 迭代扫描所有复选框。我怀疑 jQuery 也可用于在目标复选框控件之后查找下一个“标签”控件,并从中提取实际文本。 stackoverflow 的 jQuery 大脑之一必须帮助解决精确的选择器语法 - 我对 jQuery 比较陌生,而且一时不知道它。
原始响应(适用于简单的选择列表):
这应该获取所选索引:
这应该获取所选值:
Edit: mis-read your original question - updating this answer accordingly.
ASP.NET renders the checkBoxList control to be a series of checkboxes (you can use firebug to easily see the rendered controls). I believe it assigns the ID of each checkbox, based on the ID you specified. For example:
Is rendered in HTML as:
You can determine if a box is checked via:
You can also find them all via:
... then use jQuery iteration to scan through all checkboxes. I suspect jQuery can also be used to find the next "label" control after a target checkbox control, and extract the actual text from it. One of stackoverflow's bigger jQuery brains will have to help with with the exact selector syntax - I'm relatively new to jQuery, and don't know it off the top of my head.
Original response (applies to simple selectionLists):
This should get the selected index:
This should get the selected value: