使用JSON数组填充选择

时间:2014-12-09 14:52:52

标签: jquery json

我想在Spring中填充一个带有JSON值的selectbox。

使用@ResponseBody,我有这个JSON:

[{"id_raza":6,"raza":"Persa"},{"id_raza":7,"raza":"Egipcio"}]

我想在选择框中设置数据,例如

<option value="6">Persa</option>
<option value="7">Egipcio</option>

我该怎么办?我看到带有无数组JSON的示例,但我的响应是一个数组。 修改

完整的代码是:

$("#clase").change(function () {
    var razaSelected = $("#clase").val();
    alert("Raza Seleccionada: " + razaSelected);
    $.ajax({
       url: "${pageContext.request.contextPath}/persona/mascotas/raza/" + razaSelected,
       type: 'get',           
       dataType: 'html'
   }).done(function (data) {
       $('#raza').empty();
       data.forEach(function (obj) {
          $('<option />', {value: obj.id_raza, text: obj.raza}).appendTo('#raza');
       });

   });
 });

#raza是目标选择,#clase是选择更改事件

当我console.log(data)时,我得到:

"[{"id_raza":6,"raza":"Persa"},{"id_raza":7,"raza":"Egipcio"}]"

非常感谢和抱歉我的英语

2 个答案:

答案 0 :(得分:1)

您可以这样做,data仍然是JSON,因此您需要使用JSON.parse解析它

JSON.parse(data).forEach(function(obj){
   $('<option />', { value: obj.id_raza, text: obj.raza }).appendTo('select');
}); // use selector of your choice here involving select here ---------^

答案 1 :(得分:0)

Selector= $("select")
 ajaxread.foreach(function(obj){
 $('<option />', { value: obj.id_raza, text: obj.raza }).appendTo(Selector);
 });

然后调用您的方法重新初始化选择框

$(Selector).selectBox(); //或您正在使用的插件