修改$("form:first").serialize(); 中某一名称的checkbox一个均未选择, 取不到name, 后台无法更新为null的错误

<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>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值