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和Asp、Php等后端程序间传值编码统一
Apr 17 Javascript
关于JavaScript中原型继承中的一点思考
Jul 25 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
javascript中使用正则计算中文长度的例子
Apr 29 Javascript
javascript实现九宫格相加数值相等
May 28 Javascript
Node.js的文件权限及读写flag详解
Oct 11 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
vue组件初学_弹射小球(实例讲解)
Sep 06 Javascript
vuex的简单使用教程
Feb 02 Javascript
vue实现随机验证码功能的实例代码
Apr 30 Javascript
JavaScript实现图片放大镜效果
Jun 27 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
Nov 02 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下打开URL地址的几种方法小结
2010/05/16 PHP
探讨:如何编写PHP扩展
2013/06/13 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
全面解析多种Bootstrap图片轮播效果
2016/05/27 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
使用js获取身份证年龄的示例代码
2020/12/11 Javascript
Python去除列表中重复元素的方法
2015/03/20 Python
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
pytorch 常用线性函数详解
2020/01/15 Python
Python模块 _winreg操作注册表
2020/02/05 Python
Python日志syslog使用原理详解
2020/02/18 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
外贸采购员岗位职责
2014/03/08 职场文书
企业总经理任命书
2014/06/05 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
班级联欢会主持词
2015/07/03 职场文书
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python