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

来源:互联网 发布:日本传统音乐知乎 编辑:程序博客网 时间:2024/05/21 20:25
<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之后的值" onclick="test()" /></form></body></html>


原创粉丝点击