jQuery获取checkboxlist的value值的方法


Posted in Javascript onSeptember 27, 2015

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

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

<asp:CheckBoxList runat="server" ID="listTest">
</asp:CheckBoxList>
<input type="button" id="btnShow" value="显示选中值" />

下面我们绑定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代码如下:

<table id="listTest" border="0"> 
<tr> 
  <td>
    <input id="listTest_0" type="checkbox" name="listTest$0" />
    <label for="listTest_0">基于jQuery的一个震动效果</label>
  </td> 
  </tr>
<tr> 
  <td><input id="listTest_1" type="checkbox" name="listTest$1" />
    <label for="listTest_1">使用css的overflow属性改变缩略图大小</label>
  </td>
</tr>
</table>

可以看出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代码如下:

<table id="Table1" border="0"> 
<tr> 
  <td>
    <span alt="400"><input id="listTest_0" type="checkbox" name="listTest$0" />
    <label for="listTest_0">基于jQuery的一个震动效果</label></span>
  </td> 
</tr>
<tr> 
  <td><span alt="398"><input id="listTest_1" type="checkbox" name="listTest$1" />
  <label for="listTest_1">使用css的overflow属性改变缩略图大小</label></span>
  </td>
</tr>
</table>

从上边可以看出,多了一个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值的方法,不知道大家有没有真正理解,希望这篇文章能够帮到大家。

Javascript 相关文章推荐
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
js页面跳转的常用方法整理
Oct 18 Javascript
使用jQuery简单实现模拟浏览器搜索功能
Dec 21 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
Mar 16 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
Nov 02 Javascript
jqGrid中文文档之选项设置
Dec 02 Javascript
bootstrap输入框组使用方法
Feb 07 Javascript
Vue按需加载的具体实现
Dec 02 Javascript
js中的 || 与 &amp;&amp; 运算符详解
May 24 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
May 24 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 #Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
Sep 27 #Javascript
asp知识整理笔记3(问答模式)
Sep 27 #Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 #Javascript
JS实现仿新浪黄色经典滑动门效果代码
Sep 27 #Javascript
AngularJS基础教程之简单介绍
Sep 27 #Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 #Javascript
You might like
实用函数4
2007/11/08 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
php常用的工具开发整理
2019/09/26 PHP
Js表格万条数据瞬间加载实现代码
2014/02/20 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
vue.js 获取当前自定义属性值
2017/06/01 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
2019/01/14 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
mac使用python识别图形验证码功能
2020/01/10 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
个人安全生产承诺书
2014/05/22 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
Python实现简单的猜单词
2021/06/15 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers
Java 多线程并发FutureTask
2022/06/28 Java/Android