jQuery:迭代ajax响应列表,并将其填充到下拉列表中

jQuery:迭代ajax响应列表,并将其填充到下拉列表中,jquery,ajax,Jquery,Ajax,来自servlet的JSON响应为 empID:rajuM,givenName:Raju M,empID:rajuM01,givenName:Raju M R 我想迭代这个列表并在下拉列表中填充它。我已经尽力去做了,但是运气不好,请帮忙。请看下面的代码 $('#select').change(function(){ var dept = $('select[name="select-dept"] option:selected').text(); console.log(dept

来自servlet的JSON响应为

empID:rajuM,givenName:Raju M,empID:rajuM01,givenName:Raju M R

我想迭代这个列表并在下拉列表中填充它。我已经尽力去做了,但是运气不好,请帮忙。请看下面的代码

$('#select').change(function(){
    var dept = $('select[name="select-dept"] option:selected').text();
    console.log(dept);
    $.ajax({
        type: "GET",
        url: "updateEmployeeServlet",
        data: {dept: dept},
        success: function(list){
        $('#employee-list').html("Please select Employee under Department:      <select name = \"employee\"></select>");

            $.each(list, function(index, data){
                $('#employee-list select').html("<option value = "+data.empID+">"+data.givenName+"</option>");
            });
        },
        error: function(){
            alert("something went wrong");
        }
    });
});
$('#选择')。更改(函数(){
var dept=$('select[name=“select dept”]选项:selected')。text();
控制台日志(部门);
$.ajax({
键入:“获取”,
url:“updateEmployeeServlet”,
数据:{dept:dept},
成功:功能(列表){
$(“#员工列表”).html(“请在部门:”下选择员工);
$。每个(列表、函数(索引、数据){
$(“#员工列表选择”).html(“+data.givenName+”);
});
},
错误:函数(){
警惕(“出了差错”);
}
});
});

我想您只需要追加而不是html

$('#employee-list select').append("<option value = "+data.empID+">"+data.givenName+"</option>");
$(“#员工列表选择”).append(“+data.givenName+”);

您可以这样做:

首先,您需要像这样的数据对象:[{'empID':'rajuM','givenName':'rajuM'},{'empID':'rajuM01','givenName':'rajuM R'}]

成功:函数(列表)
{
$(“#员工列表”).html(“请在部门:”下选择员工);
var期权=”;
对于(列表中的i)
{
选项+=“”+列表[i]。给定名称+“”;
}
$(“#员工列表选择”)。附加(选项);
}

是小提琴。

我同意,但真正的问题现在开始了。我只得到列表中的最后一个值,而不是整个列表。
success: function(list)
{
  $('#employee-list').html("Please select Employee under Department:<select name =\"employee\"></select>");
  var options = "";
  for(i in list)
  {
     options += "<option value = "+list[i].empID+">"+list[i].givenName+"</option>"; 
  }
  $('#employee-list select').append(options);
}