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 相关文章推荐
JavaScript-世界上误解最深的语言分析
Aug 12 Javascript
19个很有用的 JavaScript库推荐
Jun 27 Javascript
javascript动态加载二
Aug 22 Javascript
js this函数调用无需再次抓获id,name或标签名
Mar 03 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
Aug 11 Javascript
使用JQuery在线制作ppt并在线演示源码特效
Sep 08 Javascript
jQuery常用的一些技巧汇总
Mar 26 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
详解在vue-cli中使用路由
Sep 25 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
Jun 29 Javascript
laydate如何根据开始时间或者结束时间限制范围
Nov 15 Javascript
vue 左滑删除功能的示例代码
Jan 28 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扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
了解一点js的Eval函数
2012/07/26 Javascript
JS求平均值的小例子
2013/11/29 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
jQuery实现手机号码输入提示功能实例
2015/04/30 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
Node.js 实现简单小说爬虫实例
2016/11/18 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
2017/07/04 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
Python CSV模块使用实例
2015/04/09 Python
python计算圆周率pi的方法
2015/07/11 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
什么是GWT的Module
2013/01/20 面试题
物流管理毕业生自荐信
2013/10/24 职场文书
二手书店创业计划书
2014/01/16 职场文书
初中生操行评语大全
2014/04/24 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python