我想在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"}]"
非常感谢和抱歉我的英语
答案 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();
//或您正在使用的插件