从JSON填充组合框(按字符串)

时间:2014-05-09 07:58:40

标签: javascript json jquery-mobile combobox

我只是想通过JSON填充组合框。 (使用jquery mobile) 例如: 这是我的字符串(JSON):

var response = [{
      "A":"a2",
      "B":"b2",
      "C":"c2"
     },
     {
      "A":"a3",
      "B":"b3",
      "C":"c3"
    },
    {
      "A":"a4",
      "B":"b4",
      "C":"c4"
    }];

这是我的代码:

...

<div>
<h1>Choose:</h1>
    <select name="myDropDownA" id="myDropDownA">
        <option>myOption</option>  
    </select>
    <select name="myDropDownB" id="myDropDownB">
        <option>myOption</option>  
    </select>
    <script>
     $(response.A).each(function()
             {
                 var option = $('<option />');
                 option.attr('value', this.value).text(this.label);
                 $('#myDropDownA').append(option);
             });
    </script>
    <INPUT type="button" value="Mybutton" onclick="Mybutton" />
    </div>

我希望myDropDownA是选择选项A,myDropDownB是选择选项B. 而且它不起作用。为什么呢?

1 个答案:

答案 0 :(得分:0)

您的$each错了。查看reference

var myDropDownA = $("#myDropDownA");
var myDropDownB = $("#myDropDownB");
$.each(response, function(index,obj)
{
     //alert(index + ": " + obj.A);
    myDropDownA.append($("<option />").val(obj.A).text(obj.A));
    myDropDownB.append($("<option />").val(obj.B).text(obj.B));
});

工作演示:JSfiddle