jQuery使用map()从所有输入构建json

本诺夫

我试图遍历页面中的所有输入,并构建一个JSON以通过发布请求发送到后端:

function getBody() {
         var blocks = $('.list-group-item').map(function(idx, elem) {

            var inputs = $(elem).find('.block-input').map(function (idi, input) {
               //Probably this part needs to change
               return {
                  [$(input).attr('name')]: $(input).val()
               };
            }).get();


            return {
               id: $(elem).data('id'),
               name: $(elem).data('name'),
               inputs,
            };
         }).get();

         var products_json = JSON.stringify(blocks,null,'\t');
         console.log(products_json)
};

它有效,这是我的结果:

[
    {
        "id": 13,
        "name": "About us",
        "inputs": [
            {
                "title": "How we started"
            },
            {
                "paragraph": "We started 5 years ago in a ..."
            }
        ]
    }
]

我想为所有输入取回一个对象,而不是为每个输入取回一个对象,如何使用map()将键值对返回给对象?我希望结果看起来像这样:

[
    {
        "id": 13,
        "name": "About us",
        "inputs": {
            "title": "How we started"
            "paragraph": "We started 5 years ago in a ..."
        }
    }
]
巴尔玛

不要map用于创建inputs对象。使用将键/值元素添加到对象的循环。

function getBody() {
  var blocks = $('.list-group-item').map(function(idx, elem) {
    var inputs = {};
    $(elem).find('.block-input').each(function(idi, input) {
      inputs[$(input).attr('name')] = $(input).val();
    });

    return {
      id: $(elem).data('id'),
      name: $(elem).data('name'),
      inputs,
    };
  }).get();

  var products_json = JSON.stringify(blocks, null, '\t');
  console.log(products_json)
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

如何使用jQuery获取JSON所有标签的类名

来自分类Dev

使用jQuery禁用除表单中的某些元素以外的所有输入元素

来自分类Dev

如何使用JavaScript或Jquery删除输入文本上的所有内联脚本或html注入

来自分类Dev

如何使用javascript / jquery在变化范围内编写所有输入类型的值?

来自分类Dev

如何使用jQuery从表中获取所有输入文本框值

来自分类Dev

使用react在使用map列出JSON的所有值时遇到麻烦

来自分类Dev

使用jQuery将mouseenter事件添加到数组中具有名称的所有输入

来自分类Dev

使用带有宏的动态输入来构建函数

来自分类Dev

jQuery的选择所有输入类给出错误的结果?

来自分类Javascript

jQuery检查页面加载时所有输入的状态

来自分类Dev

在a标签之后找到所有jquery输入字段

来自分类Javascript

jQuery从特定形式获取所有输入

来自分类Javascript

如何获取输入数组元素jQuery的所有值

来自分类Dev

如何获取div元素的所有子输入(jQuery)

来自分类Dev

jQuery遍历所有文件输入字段以获取大小

来自分类Dev

禁用类jquery的所有输入文本字段

来自分类Dev

jQuery更改输入字段的所有值attr

来自分类Dev

jQuery在td中为所有行选择输入

来自分类Dev

jQuery表在输入时搜索所有列

来自分类Dev

使用gson和Retrofit 2将所有JSON存储在Map中

来自分类Linux

使用Go和'。/ ...'构建所有代码

来自分类Java

使用Ant构建器运行所有单元测试

来自分类Dev

jQuery-使用JSON属性创建输入

来自分类Javascript

如何使用jQuery获取所有ID?

来自分类Javascript

使用jQuery获取元素的所有属性

来自分类Dev

jQuery根据输入更改重新计算所有其他输入

来自分类Dev

jQuery查找具有特定类名的所有隐藏输入字段

来自分类Dev

如何获取所有与数组具有相同名称标签的输入字段(jQuery)

来自分类Dev

使用jQuery从AJAX响应构建表行(json)

TOP 榜单

热门标签

归档