jquery下checked取值问题的解决方法

修改checkbox时..jquery在取checked值时总是出这样那样的问题....各个版本之间还有少许的差异....当向后台发送数据后,,再返回到当前页时..checked的状态始终不对

一怒之下,给checkbox加一个isCheck,,不用那该死的checked属性...一切OK了...代码如下:

复制代码 代码如下:


<!DOCTYPE html >
<html><head>
<meta charset="UTF-8">
<title>修复checkbox的状态切换和动态取值的问题</title>
<script type="text/javascript" src="https://www.jb51.net/jquery.js"></script>
<style>
* {margin:0; padding:0;}
ul li { float:left; list-style:none; margin-left:20px;}
</style>
</head>
<body>
<form action="#" method="post">
<input value="" type="hidden">
<ul>
<li><input checked="checked" isCheck="true" value="1" type="checkbox">美食1</li>
<li><input value="2" type="checkbox">美食2</li>
<li><input value="3" type="checkbox">美食3</li>
<li><input checked="checked" isCheck="true" value="4" type="checkbox">美食4</li>
<li><input checked="checked" isCheck="true" checked="checked" value="5" type="checkbox">美食5</li>
</ul>
<div> <input value="确认" 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>

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wddpzw.html