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 相关文章推荐
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
Dec 10 Javascript
js实现简单div拖拽功能实例
May 12 Javascript
学习javascript文件加载优化
Feb 19 Javascript
详解Vue组件之间的数据通信实例
Jun 17 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 Javascript
Express进阶之log4js实用入门指南
Feb 10 Javascript
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
在微信小程序中使用vant的方法
Jun 07 Javascript
原生JS 实现的input输入时表格过滤操作示例
Aug 03 Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 Javascript
微信小程序实现图片翻转效果的实例代码
Sep 20 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
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
javascript如何使用bind指定接收者
2014/05/04 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
2020/07/22 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
Python 中Pickle库的使用详解
2018/02/24 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
python 构造三维全零数组的方法
2018/11/12 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
致全体运动员广播稿
2014/02/01 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
2014年招生工作总结
2014/11/26 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL