【问题标题】:JSON into Options of a Input SelectJSON 转换为输入选择的选项
【发布时间】:2013-08-21 18:28:18
【问题描述】:

我有一个 json 字符串,我试图将其放入我的选择输入字段的选项中。我希望 Type_label 进入 Type_lable 并且值是类型号。

这是我的 json:

var serviceCODES = [{
"type_label": "Medical Care",
"type": "1",

}, {
"type_label": "Surgical",
"type": "2",

}, {
"type_label": "Consultation",
"type": "3",

}]

这是我的html和js

 <select id="datas" name="datas" >

 <script>
    var $select = $('#datas');

    $.each(serviceCODES, function(i, val){
        $select.append($('<option />', { value: (i+1), text: val[i+1] }));
     });
 </script>

由于某种原因,这不起作用。任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: javascript json select


    【解决方案1】:

    试试:

    $.each(serviceCODES, function(i, val){
        $select.append($('<option />', { value: (i+1), text: val.type_label}));
    });
    

    $.each() 将当前索引和 item 传递给回调函数。您试图通过索引访问 val 的元素。此外,您可能还想访问val 的某些属性。

    【讨论】:

      【解决方案2】:

      试试这个:

      $select.append('<option value="' + i + '">' + val.type_label + '</option>');
      

      在这些情况下,当您对如何在循环中检索数据感到困惑时,请务必查看函数提供的参数(我总是使用这个):

      console.log(arguments);

      【讨论】:

      • 如果您希望value 属性成为对象的type 参数,请使用val.type 而不是i
      • 这太棒了!这完全有效,谢谢!我会批准你的回答。
      猜你喜欢
      • 2020-12-06
      • 1970-01-01
      • 2012-07-13
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 2011-09-09
      相关资源
      最近更新 更多