Jquery SerializeObject - 将form表单转化成Javascript object

默许情况下,Jquery没法将form转换成用于ajax参数的Javascript Object。
所以一直以来都是运用selector一个个读取数值然后本身构建Javascript Object的体式格局。本日有时看到一段Jquery的插件,能够直接运用:

$(form).serializeObject()  

的情势,将form内里的内容转化成以下美丽的情势,真是皆大欢喜!

  {
    "a":1,
    "b":2,
    "c":3
  }
$.fn.serializeObject = function() {
      var o = {};
      var a = this.serializeArray();
      $.each(a, function() {
          if (o[this.name] !== undefined) {
              if (!o[this.name].push) {
                  o[this.name] = [o[this.name]];
              }
              o[this.name].push(this.value || '');
          } else {
              o[this.name] = this.value || '';
          }
      });
      return o;
    };

注:serialzeArray依据Jquery的文档,能够提取表单的元素,转换成以下情势(觉得有点处境尴尬,不知道为何有如许的一个函数呢?):

    [
      {
        name: "a",
        value: "1"
      },
      {
        name: "b",
        value: "2"
      },
      {
        name: "c",
        value: "3"
      },
      {
        name: "d",
        value: "4"
      },
      {
        name: "e",
        value: "5"
      }
    ]
    原文作者:yeelan0319
    原文地址: https://segmentfault.com/a/1190000000709891
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞