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 ajax对特殊字符进行转义防止js注入使用示例
Nov 21 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
Jan 14 Javascript
JavaScript中的原型和继承详解(图文)
Jul 18 Javascript
node.js中的fs.realpathSync方法使用说明
Dec 16 Javascript
angularJS深拷贝详解
Mar 23 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
Apr 26 Javascript
JS插件clipboard.js实现一键复制粘贴功能
Dec 04 Javascript
angular4笔记系列之内置指令小结
Nov 09 Javascript
详解vue或uni-app的跨域问题解决方案
Feb 21 Javascript
js实现有趣的倒计时效果
Jan 19 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 fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
JQuery index()方法使用代码
2010/06/02 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
JavaScript判断页面加载完之后再执行预定函数的技巧
2016/05/17 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
python抓取百度首页的方法
2015/05/19 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
浅析python函数式编程
2020/09/26 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
手工社团活动方案
2014/02/17 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
捐书倡议书
2014/08/29 职场文书
仙境之桥观后感
2015/06/16 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书