我是ajax和spring mvc的初学者。我使用ajax调用从我的数据库(mongodb)获取数据。我想知道如何从ajax对象设置下拉值。
home.jsp
<select class="form-control" id="list1value">
<c:forEach items="${???}" var="item">
<option value="${item. pri-ID}">${item.uniID}</option>
</c:forEach>
</select>
<script type="text/javascript" >
$(document).ready(function() {
$('#id').on('change', function() {
var value = $(this).val();
$.ajax({
type: "GET",
url: "list",
data: "id=" +value,
success: function(data) {
alert(data);
console.log(data);
$('#list1value').val(data.cusID);
$('#list1value').val(data.uniID);
}
});
})
})
</script>
我的数据对象是 { “cusID”:“14345”, “uniID”:“123999”, “名称”:“wName”, “pri-ID”:“11335” }
如何在 部分编写代码以分配选项值
答案 0 :(得分:0)
如果我理解正确,您的代码没有任何问题。在将值分配给list1value和list2value之后,您是否检查了元素以检查其“value”属性?
您的代码只会更改“value”属性,而不会更改元素内部html中显示的文本。
确保你能做到:
$.ajax({
type: "GET",
url: "list",
data: "id=" +value,
success: function(data) {
alert(data);
console.log(data);
$('#list1value').val(data.cusID);
$('#list2value').val(data.uniID);
//check if value is assigned correctly
console.log($('#list1value').val());
console.log($('#list2value').val());
//Write in the inner html of the option
$('#list1value').html(data.cusID);
$('#list2value').html(data.uniID);
}
});
答案 1 :(得分:0)
尝试使用以下成功回调:
function(data) {
var selectEl = $('select.form-control');
selectEl.children().remove();
for (var key in data) {
var optionEl = $('<option/>')
.attr('value', data[key])
.text(key);
el.append(optionEl);
}
}