【问题标题】:javascript array with key带有键的javascript数组
【发布时间】:2019-01-19 08:44:34
【问题描述】:

我想从具有这种格式的数组中获取 JSON

[
  {
    "title": "Name"
  },
  {
    "title": "Phone"
  },
  {
    "title": "Parent Phone"
  },
  {
    "title": "Street"
  }
]

我试过这段代码:

var favorite = new Array();
$.each($("#db_fields"), function() {
    var field = {
        'title': $(this).val()
    };
    favorite.push(field);
});
var myJsonString = JSON.stringify(favorite);
alert(myJsonString);

$("#db_fields") 是一个选择(Bootstrap-select),它是一个字符串数组

<select class="form-control"  name="db_fields[]" id="db_fields" data-live-search="true" multiple >
        <option value="Arabic Name"> Arabic Name</option>
        <option value="Building"> Building</option>
</select>

但我得到了这个结果

[{"title":["Arabic Name","Phone","Building","Nationality"]}]

【问题讨论】:

  • 请发布 JSON 数据。
  • $("#db_fields")的内容是什么?
  • $.each() (仅)一个 id 应该敲响你所有的警钟,因为 id 必须是唯一的。

标签: javascript arrays key


【解决方案1】:

遍历select ("#db_fields &gt; option") 标记的选项

var favorite = [];
$.each($("#db_fields > option"), function(){   
        let field = {
            'title': this.value
        };
        favorite.push(field);
});
var myJsonString = JSON.stringify(favorite);
console.log(myJsonString);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control"  name="db_fields[]" id="db_fields" data-live-search="true" multiple >
        <option value="Arabic Name"> Arabic Name</option>
        <option value="Building"> Building</option>
</select>

【讨论】:

    猜你喜欢
    • 2013-01-07
    • 2021-06-06
    • 2017-06-24
    • 1970-01-01
    • 2013-04-22
    • 2014-12-21
    • 1970-01-01
    • 2014-01-19
    • 2016-01-24
    相关资源
    最近更新 更多