您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页jQuery获取checkboxlist的value值的方法_jquery

jQuery获取checkboxlist的value值的方法_jquery

来源:纷纭教育


CheckboxList是服务器控件,绑定数据容易,服务器端获取选中值也容易。但是生成的静态页面居然没有ListItem的Value值,所以默认情况下用js在页面中是取不到ListItem的值的。至于为什么不显示value值,我也不清楚,本篇给出一个用jQuery获取checkboxlist值的方法。

先看看原始的页面html代码:



下面我们绑定checkboxlist,代码如下:

if (dt != null && dt.Rows.Count > 0)
{
 foreach (DataRow dr in dt.Rows)
 {
 //分别为text值、value值
 listTest.Items.Add(new ListItem(dr["Title"].ToString(), dr["ID"].ToString()));
 }
}

页面中生成的html代码如下:

可以看出checkboxlist转换为一个表格的形式,并且其中没有value值。label中的值,即为text值。当点击它时,也可以选中checkbox,这里在选checkbox时提高了用户体验。
下面进入我们的处理过程,首先,在绑定checkboxlist时,为ListItem每个对象添加一个alt属性,值保存对应的value值,代码如下:

if (dt != null && dt.Rows.Count > 0)
{
 foreach (DataRow dr in dt.Rows)
 {
 //分别为text值、value值
 listTest.Items.Add(new ListItem(dr["Title"].ToString(), dr["ID"].ToString()));
 }
 //为ListItem对象添加alt属性,值保存value值
 foreach (ListItem li in listTest.Items)
 {
 li.Attributes.Add("alt", li.Value);
 }
}

现在,生成的html代码如下:

从上边可以看出,多了一个span标签,里边alt的值即为我们需要的value值。使用下边的jQuery代码即可获得:

$(document).ready(function() {
 $("#btnShow").click(function() {
 var valuelist = ""; //保存checkbox选中值
 //遍历name以listTest开头的checkbox
 $("input[name^='listTest']").each(function() {
 if (this.checked) {
 //$(this):当前checkbox对象;
 //$(this).parent("span"):checkbox父级span对象
 valuelist += $(this).parent("span").attr("alt") + ",";
 }
 });
 if (valuelist.length > 0) {
 //得到选中的checkbox值序列,
结果为400,398 valuelist = valuelist.substring(0, valuelist.length - 1); } }); });

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务