【问题标题】:Jquery form serializeArray to stringJquery形式serializeArray到字符串
【发布时间】:2011-07-10 07:53:18
【问题描述】:

jquery如何将此数组转换为逗号分隔的字符串?

var array = $('#form').serializeArray();

谢谢!

【问题讨论】:

标签: jquery tostring serializearray


【解决方案1】:

你可以这样做:

    var array = $('#form').serializeArray();
    var arrayString = '';

    jQuery.each(array, function () {
        if (arrayString == '' || arrayString == null) {
            arrayString = this + "";
        }
        else {
            arrayString = arrayString + "," + this;
        }
    });

或者

var array = $('#form').serializeArray();
arr = jQuery.map(array , function(n, i){
  return (n.toUpperCase() + i);
});
var arrayString = array.join(",");

【讨论】:

  • 发明很多方法...Array.join()是你的朋友:)
  • 我希望我在制作函数之前就知道这一点:p 很高兴知道 :)
【解决方案2】:
$(function () {
  var ATTRIBUTE_SEPARATOR = ":";
  var PROPERTY_SEPARATOR = ", ";

  // EXAMPLE 1
  var serialize_array = $("#form").serializeArray();

  console.log(serialize_array);

  var converted_string_1 = $.map(serialize_array, function (prop, i) {
    return prop.name + ATTRIBUTE_SEPARATOR + prop.value;
  }).join(PROPERTY_SEPARATOR);

  console.log(converted_string_1);
  // a:a, b:b, c:c, d[]:d1, d[]:d2

  // EXAMPLE 2
  var serialized_string = $("#form").serialize();
  var converted_string_2 = decodeURIComponent(
    serialized_string
      .replace(/\&/g, PROPERTY_SEPARATOR)
      .replace(/\=/g, ATTRIBUTE_SEPARATOR)
  );

  console.log(converted_string_2);
  // a:a, b:b, c:c, d[]:d1, d[]:d2

  // EXAMPLE 3
  var converted_string_3 = JSON.stringify(serialize_array);

  console.log(converted_string_3);
  // [{"name":"a","value":"a"},{"name":"b","value":"b"},{"name":"c","value":"c"},{"name":"d[]","value":"d1"},{"name":"d[]","value":"d2"}]
});

【讨论】:

  • 我不明白你为什么在第 4 行有 a + a。为了使它工作,我必须指定名称和值:return a.name + ': ' + a.value
  • @Jussi Hirvi:嗨,tnx 指出错误,3d 太旧了,不记得为什么我犯了这个错误,现在无论如何阅读 OP 问题,我看不清楚他想要什么用那个数组来实现,所以我给出了其他可能的版本......希望这有帮助。
猜你喜欢
  • 1970-01-01
  • 2013-10-22
  • 2012-03-11
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多