在 select 选项中迭代 json 数据

Iterate json data in select option

我正在使用 $.getJSON,它在 json 数据下方 return。

{
    "sEcho": 1,
    "iTotalRecords": 2,
    "iTotalDisplayRecords": 2,
    "aaData": [
        {
            "student": {
                "id": "1",
                "name": "gaurav"
            }
        },
        {
            "student": {
                "id": "2",
                "name": "abhishek"
            }
        }
    ]
}

我想将学生 ID 和姓名放入 select 选项值中。 Html 会是这样的:

<select name='stud'>
<option id='1'>gaurav</option>
<option id='1'>abhishek</option>
</select>

当我使用 JSON.stringify 时,它是 returning object 对象。 提前致谢。

这就是你想要的吗? (假设您在页面上使用 jQuery):

<script type="text/javascript">
var json = {
    "sEcho": 1,
    "iTotalRecords": 2,
    "iTotalDisplayRecords": 2,
    "aaData": [
        {
            "student": {
                "id": "1",
                "name": "gaurav"
            }
        }, {
            "student": {
                "id": "2",
                "name": "abhishek"
            }
        }
    ]
};

json.aaData.forEach(function(value) {   
    var student = value.student
     $('#mySelect')
         .append($("<option></option>")
         .attr("value",student.id)
         .text(student.name)); 
});
</script>

<select id='mySelect' name='stud'>
</select>

请参阅此处的工作示例:http://jsfiddle.net/r5nn5wqu/

$.getJSON( "ajax/test.json", function( data ) {
  var items = [];
  $.each( data, function( key, val ) {
    $('select[name="stud"]').append('<option id="'+key+'" value="'+value+'"');
  });
}