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的链式调用之each函数
Dec 03 Javascript
js判断是否为数组的函数: isArray()
Oct 30 Javascript
js取float型小数点后两位数的方法
Jan 18 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
JQuery.validate在ie8下不支持的快速解决方法
May 18 Javascript
详解vue中引入stylus及报错解决方法
Sep 22 Javascript
Vue 进阶之路(三)
Apr 18 Javascript
微信小程序中的列表切换功能实例代码详解
Jun 09 Javascript
vue实现公共方法抽离
Jul 31 Javascript
Vue + ts实现轮播插件的示例
Nov 10 Javascript
如何实现vue的tree组件
Dec 03 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
php内核解析:PHP中的哈希表
2014/01/30 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
php实现小程序支付完整版
2018/10/09 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
以一段代码为实例快速入门Python2.7
2015/03/31 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
5.1手机促销活动
2014/01/17 职场文书
《小儿垂钓》教学反思
2014/02/23 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书