一怒之下,给checkbox加一个isCheck,,不用那该死的checked属性...一切OK了...代码如下: 复制代码 代码如下: <!DOCTYPE html > <html><head> <meta charset="UTF-8"> <title>修复checkbox的状态切换和动态取值的问题</title> <script type="text/javascript" src="jquery.js"></script> <style> * {margin:0; padding:0;} ul li { float:left; list-style:none; margin-left:20px;} </style> </head> <body> <form name="journal" id="journal" action="#" method="post"> <input name="cate_ids" value="" type="hidden"> <ul> <li><input checked="checked" isCheck="true" class="ckbox" value="1" name="cate_id" type="checkbox">美食1</li> <li><input class="ckbox" value="2" name="cate_id" type="checkbox">美食2</li> <li><input class="ckbox" value="3" name="cate_id" type="checkbox">美食3</li> <li><input checked="checked" isCheck="true" class="ckbox" value="4" name="cate_id" type="checkbox">美食4</li> <li><input checked="checked" isCheck="true" class="ckbox" checked="checked" value="5" name="cate_id" type="checkbox">美食5</li> </ul> <div class="btn"> <input value="确认" name="sbtn" onclick="getValues()" type="button"> </form> <script> //修复checkbox的状态切换和动态取值的问题 //为checkbox新增一个isCheck属性来替换checked属性的不兼容性 $(".ckbox").click(function(){ if($(this).attr("isCheck") == "true") { $(this).removeAttr("isCheck") } else { $(this).attr("isCheck", "true"); } }) function getValues() { var list=""; $(".ckbox").each(function(){ if($(this).attr("isCheck") == "true"){ list += $(this).val() + ","; } }) alert(list); } </script> </body> </html>
推荐阅读
js自执行函数的几种不同写法的比较
经常需要一个函数自执行,可惜这一种写法是错的: 复制代码 代码如下: function(){alert(1);}(); 原因是前半段“function(){alert(1);}”被当成了函数声明,而不是一个函数表达式,从而让后面的“();”变得孤立,>>>详细阅读
本文标题:jquery下checked取值问题的解决方法
地址:http://www.17bianji.com/kaifa2/JS/23162.html
1/2 1