<html>
<head>
<script src="ec/jquery/jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$.fn.extend({
"fixedSerialize": function () {
var $f = $(this);
var data = $(this).serialize();
var $chks = $(this).find(":checkbox:not(:checked)"); //取得所有未选中的checkbox
if ($chks.length == 0) {
return data;
}
var nameArr = [];
var tempStr = "";
$chks.each(function () {
var chkName = $(this).attr("name");
if ($.inArray(chkName, nameArr) == -1 && $f.find(":checkbox[name='" + chkName + "']:checked").length == 0) {
nameArr.push(chkName);
tempStr += "&" + chkName + "=";
}
});
data += tempStr;
return data;
}
});
function test() {
var data = $("form:first").fixedSerialize();
alert(data);
}
</script>
</head>
<body>
<form id="myform" >
<input type="text" name="YY" value="马医生" />
<ul>
<li>name为A:
<input type="checkbox" name="A" checked="checked" value="A1" />A1
<input type="checkbox" name="A" value="A2" />A2
<input type="checkbox" name="A" checked="checked" value="A3" />A3
</li>
<li>name为B:
<input type="checkbox" name="B" checked="checked" value="B1" />B1
<input type="checkbox" name="B" checked="checked" value="B2" />B2
<input type="checkbox" name="B" value="B3" />B3
</li>
<li>name为C:
<input type="checkbox" name="C" value="C1" />C1
<input type="checkbox" name="C" value="C2" />C2
<input type="checkbox" name="C" value="C3" />C3
</li>
<li>name为D:
<input type="checkbox" name="D" value="D1" />D1
<input type="checkbox" name="D" value="D2" />D2
<input type="checkbox" name="D" value="D3" />D3
</li>
</ul>
<input type="button" value="得到form中, 修改之后的serialize之后的值" οnclick="test()" />
</form>
</body>
</html>
修改$("form:first").serialize(); 中某一名称的checkbox一个均未选择, 取不到name, 后台无法更新为null的错误
最新推荐文章于 2021-08-19 18:02:02 发布