作者:雨天是最美 | 来源:互联网 | 2023-09-01 17:34
如何使用jQuery获取所选ASP.NETCheckBoxList项的索引及其文本值我使用了列出的代码,但它不适用于我。前两行将返回带有“undefined”字符串的消息varin
如何使用jQuery获取所选ASP.NET CheckBoxList项的索引及其文本值
我使用了列出的代码,但它不适用于我。
前两行将返回带有“undefined”字符串的消息
var index = $('#').attr("selectedIndex"); alert(index);
第二行将返回空消息。
var text = $('#').val(); alert(text);
var indices = ''; $('#<%=chkListGroups.ClientID %> input:checkbox').each(function (index) { if ($(this).filter('input:checkbox:checked').length == 1) { indices += (index + ' '); } }); alert(indices);
应该打印指数。
如果通过“文本值”表示从ASP.NET中的ListItem元素的Value属性返回的内容,则它不会自动直接包含在网页中。 解决此问题的一种方法是在页面的.NET代码中创建Value属性的Javascript数组,然后使用类似于上面的内容来查找数组中的值。 如果数组被称为“valueArray”,那么您可以替换上面“if”正文中的代码
indices += (valueArray[index] + ' ');
我希望这会有所帮助 – 我当然欢迎任何问题。
编辑(以下提交者评论):
如果你想要每个被检查项目的可见标签,这应该工作:
var text = $('#<%=chkListGroups.ClientID %> input:checkbox:checked').siblings('label').text(); alert(text);
编辑 :错误阅读原始问题 – 相应地更新此答案。
ASP.NET将checkBoxList控件呈现为一系列复选框(您可以使用firebug轻松查看呈现的控件)。 我相信它会根据您指定的ID分配每个复选框的ID。 例如:
One Two Three
以HTML格式呈现为:
您可以通过以下方式确定是否选中了框:
$('#list1_0').attr('checked')
你也可以通过以下方式找到它们:
$('#list1 input')
…然后使用jQuery迭代扫描所有复选框。 我怀疑jQuery也可用于在目标复选框控件之后找到下一个“标签”控件,并从中提取实际文本。 stackoverflow的一个更大的jQuery大脑将不得不帮助使用精确的选择器语法 – 我对jQuery相对较新,并且不知道它在我的头脑中。
原始响应(适用于简单选择列表) :
这应该得到选定的索引:
$("#SomeListID").attr("selectedIndex")
这应该得到选定的值:
$("#SomeListID").val()
以上就是jQuery教程分享如何使用jquery获取所选Asp.net checkBoxList项的索引及其文本值相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(编程笔记)。