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中创建对象的三种常用方法
Dec 30 Javascript
JQuery对表单元素的基本操作使用总结
Jul 18 Javascript
Angular2 PrimeNG分页模块学习
Jan 14 Javascript
JavaScript 数据类型详解
Mar 13 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
实例讲解DataTables固定表格宽度(设置横向滚动条)
Jul 11 Javascript
node.js实现微信开发之获取用户授权
Mar 18 Javascript
Angular Excel 导入与导出的实现代码
Apr 17 Javascript
小程序和web画三角形实现解析
Sep 02 Javascript
对Layer UI 模块化的用法详解
Sep 26 Javascript
Vue如何实现组件间通信
May 15 Vue.js
JavaScript模拟实现网易云轮播效果
Apr 04 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实现微信扫码自动登陆与注册功能
2016/09/22 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
php实现数字补零的方法总结
2018/09/12 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
改变隐藏的input中value值的方法
2014/03/19 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
angularJS 指令封装回到顶部示例详解
2017/01/22 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
Java 生成随机字符的示例代码
2021/01/13 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
Python使用uuid库生成唯一标识ID
2020/02/12 Python
css3实现背景动态渐变效果
2019/12/10 HTML / CSS
护士检查书
2014/01/17 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
委托书怎样写
2014/08/30 职场文书
党员检讨书范文
2014/12/27 职场文书
幼儿教师辞职信
2015/02/27 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
JavaScript执行机制详细介绍
2021/12/06 Javascript
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android