使用 jQuery 将选项插入到从返回的 JSON 数组中选择



在将选项插入选择框中时,我有点困惑。我发现了另一个与我类似的问题,但我对"键和值"的引用感到困惑。

所以我目前有以下脚本:

                        $.each(data.visibilities, function(key, value) {   
                             $('#dataVisibilitySelect')
                                 .append($("<option></option>")
                                            .attr("value",key)
                                            .text(value)); 
                        });

这会将可见性(目前有 3 个(拉入选择框。但我不确定function(key,value)的顶线

目前,data.visibilities 以数组的形式返回,如下所示:

visibilities
[…]
0   {…}
id  1
label   Dispatch
created_at  2017-12-11 09:18:13
updated_at  2017-12-11 09:18:13
1   {…}
id  2
label   Private
created_at  2017-12-11 09:18:13
updated_at  2017-12-11 09:18:13
2   {…}
id  3
label   Public
created_at  2017-12-11 09:18:29
updated_at  2017-12-11 09:18:29

如何返回它,以便将 id 用作值,将标签用作选项文本?

key保存索引,值保存项的value。因此,如果要访问 JSON 中的 label 值,请使用以下变量:value.label

我认为这就是你要找的

<head>
  <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
</head>
<select id="dataVisibilitySelect">
</select>
<script>
  $(document).ready(function() {
    $.each(data.visibilities, function(key, value) {
      $('#dataVisibilitySelect')
        .append("<option value=" + value.id + ">" + value.label + "</option>");
    });
  });
  data = {
    "visibilities": [{
        "id": 1,
        "label": "Dispatch"
      },
      {
        "id": 2,
        "label": "Private"
      },
      {
        "id": 3,
        "label": "Public"
      }
    ]
  };
</script>

最新更新