【问题标题】:creating dynamic dropdown based on json data [duplicate]基于json数据创建动态下拉列表[重复]
【发布时间】:2014-05-08 15:47:45
【问题描述】:

我有一个这样的json数据。

数据= [{“值”:“一”,“值2”:“1”}, {"value": "二", "value2": "2"}, {"value": "三", "value2": "3"}, {“value”:“四”,“value2”:“4”}]

我想创建带有value 标签和value2 数据值的下拉列表。

我可以通过将任何一列传递给这样的数组来创建下拉列表。

图表数据 = []; data.forEach(函数(d){ chart_data.push(d.value) }) ["one","two","three"] // 结果

根据这个结果,我使用 jquery 的 $.each() 函数创建了一个下拉列表。

$.each(chart_data, function(i, val) { $('#dropdown').append('' + val + ''); })

但在那里我只能使用单列来创建。

我希望从两列值中创建一个下拉列表,其中 1 列用于标签,其他列用于数据值。

【问题讨论】:

  • 当您说“下拉”时,您是指select 元素还是其他插件?
  • 是的。那是select。我会马上提到。
  • @RGraham - 我正在尝试使用您提供的链接。但我有一个挑战。当我要追加时。我的 col 在 col 名称 value word 中有一个空格。我怎样才能瞄准它?我无法附上这个'

标签: javascript jquery html


【解决方案1】:

试试这个

data.forEach(function(d) {
  var option = "<option value='"+d.value2+"'>"+d.value+"</option>";
  $('#dropdown').append(option);
})

【讨论】:

    【解决方案2】:

    在你的数据数组上运行 each。

    $.each(data, function(i, o) {
      $('#dropdown').append('<option value="' + o.value + '">' + o.value2 + '</option>');
    });
    

    【讨论】:

      【解决方案3】:

      你真的不需要制作单个数组,我不知道你为什么要这样做

      只需使用您的 data 字段来填充您的下拉列表

      $.each(data, function(i, obj) {
         $('#dropdown').append(new Option(obj.value, obj.value2));
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-09
        • 2021-11-22
        • 1970-01-01
        • 2021-05-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多