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 相关文章推荐
jquery实现固定顶部导航效果(仿蘑菇街)
Mar 21 Javascript
一个检测表单数据的JavaScript实例
Oct 31 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
Nov 10 Javascript
jquery购物车结算功能实现方法
Oct 29 Javascript
js实现随机抽选效果、随机抽选红色球效果
Jan 13 Javascript
完美实现js选项卡切换效果(一)
Mar 08 Javascript
json的结构与遍历方法实例分析
Apr 25 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 Javascript
加快Vue项目的开发速度的方法
Dec 12 Javascript
echarts实现词云自定义形状的示例代码
Feb 20 Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 Javascript
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
php一个找二层目录的小东东
2012/08/02 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
Javascript 自定义类型方法小结
2010/03/02 Javascript
JavaScript 面向对象之命名空间
2010/05/04 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
JavaScript实现网页计算器功能
2020/10/29 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
python实现基于SVM手写数字识别功能
2020/05/27 Python
python实现一组典型数据格式转换
2018/12/15 Python
对Django url的几种使用方式详解
2019/08/06 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
Python数据可视化图实现过程详解
2020/06/12 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
外企C语言笔试题
2013/11/10 面试题
意向书范文
2014/03/31 职场文书
教师节宣传方案
2014/05/23 职场文书
2014大学校园光棍节活动策划书
2014/09/29 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
Windows server 2012 NTP时间同步的实现
2022/06/25 Servers