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 相关文章推荐
js 面向对象的技术创建高级 Web 应用程序
Feb 25 Javascript
JavaScript的strict模式与with关键字介绍
Feb 08 Javascript
jQuery标签替换函数replaceWith()的使用例子
Aug 28 Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 Javascript
js获取字符串字节数方法小结
Jun 09 Javascript
javascript简单比较日期大小的方法
Jan 05 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
Aug 31 Javascript
ECMAScript6 新特性范例大全
Mar 24 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
简单谈谈JS中的正则表达式
Sep 11 Javascript
vue.js中父组件调用子组件的内部方法示例
Oct 22 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 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常用的缓存技术汇总
2014/05/05 PHP
PHP中soap的用法实例
2014/10/24 PHP
thinkPHP交易详情查询功能详解
2016/12/02 PHP
php输出图像的方法实例分析
2017/02/16 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
Node.js文件操作详解
2014/08/16 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
VUE简单的定时器实时刷新的实现方法
2019/01/20 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
Python open读写文件实现脚本
2008/09/06 Python
python中定义结构体的方法
2013/03/04 Python
Python 对象中的数据类型
2017/05/13 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
如何在python中执行另一个py文件
2020/04/30 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
面试后的感谢信范文
2014/02/01 职场文书
《月迹》教学反思
2014/02/19 职场文书
公司捐款倡议书
2014/05/14 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
个人党性分析总结
2015/03/05 职场文书
保留意见审计报告
2015/06/05 职场文书
中学政教处工作总结
2015/08/13 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
Python字典和列表性能之间的比较
2021/06/07 Python