设为首页收藏本站

自学IT吧论坛

 找回密码
 立即注册
搜索
查看: 648|回复: 0

[Web前端] 为Jquery.SerializeArray()解决Radio,Checkbox未选时未序列化的问题

[复制链接]
  • TA的每日心情
    开心
    18 分钟前
  • 签到天数: 1027 天

    [LV.10]以坛为家III

    1080

    主题

    2227

    帖子

    4519

    积分

    管理员

    坚持学习,坚持锻炼。

    Rank: 9Rank: 9Rank: 9

    积分
    4519

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    发表于 2018-3-21 15:40:41 | 显示全部楼层 |阅读模式

    1. <script>
    2.     //表单提交
    3.     $("#submit").click(function(){
    4.         $.ajax({
    5.             url:"/zxit8/charge/add.php",
    6.             type:'post',
    7.             data:$("#myform").serialize(),
    8.             success:function(res){
    9.                 alert(res.msg);
    10.             }
    11.         })
    12.     });
    13. </script>
    复制代码
    使用jQuery的 serialize() 函数序列化表单字段时,单选框(radio)和复选框(checkbox)在未选择的情况下不会被序列化,其字段不会被提交。将上面代码中的serialize()函数重定义为下面代码中的 ghostsf_serialize() 函数,可以解决该问题。

    1. <script>
    2.     //为jquery.serializeArray()解决radio,checkbox未选中时没有序列化的问题
    3.     $.fn.ghostsf_serialize = function () {
    4.         var a = this.serializeArray();
    5.         var $radio = $('input[type=radio],input[type=checkbox]', this);
    6.         var temp = {};
    7.         $.each($radio, function () {
    8.             if (!temp.hasOwnProperty(this.name)) {
    9.                 if ($("input[name='" + this.name + "']:checked").length == 0) {
    10.                     temp[this.name] = "";
    11.                     a.push({name: this.name, value: this.value});
    12.                 }
    13.             }
    14.         });
    15.         return jQuery.param(a);
    16.     };
    17.     //表单提交
    18.     $("#form_submit").click(function(){
    19.         $.ajax({
    20.             url:"/zxit8/charge/add.php",
    21.             type:'post',
    22.             data:$("#myform").ghostsf_serialize(),
    23.             success:function(res){
    24.                 alert(res.msg);
    25.             }
    26.         })
    27.     });
    28. </script>
    复制代码


    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    来自学IT吧,高薪等你拿! 立即登录 立即注册
    在线咨询
    在线咨询
    zxit_8@qq.com

    QQ|Archiver|小黑屋|自学IT吧    

    GMT+8, 2020-5-30 19:54 , Processed in 0.100394 second(s), 31 queries , Gzip On.

    © 2014-2017 自学IT吧论坛

    快速回复 返回顶部 返回列表