jQuery获取checkboxlist的value值的方法_jquery
程序员文章站
2022-05-09 12:51:29
...
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); } }); });
以上就是jQuery获取checkboxlist的value值的方法,不知道大家有没有真正理解,希望这篇文章能够帮到大家。
推荐阅读
-
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
-
ASP.NET在MVC控制器中获取Form表单值的方法
-
jQuery使用正则验证15/18身份证的方法示例
-
JS/jquery实现一个网页内同时调用多个倒计时的方法
-
jQuery EasyUI tree增加搜索功能的实现方法
-
jQuery实现动态添加、删除按钮及input输入框的方法
-
Easyui 去除jquery-easui tab页div自带滚动条的方法
-
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
-
Vue项目中使用jquery的简单方法
-
jQuery ajax的功能实现方法详解