asp.net中的CheckBoxList生成html之后找不到value,这一直是很多人头疼的问题,不过可以换位思考,在其它地方给这个值,然后再获取
思路是在每个上面加一个alt的值为value,然后在jquery上面获取这个alt即可
首先给CheckBoxList控件Alt值
//为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>这时候只要获取alt就可以了
$(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获取ASP.NET中CheckBoxList的value值
- 文章分类:【JQuery/JavaScript】
- 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.