我必须使用ajax调用重置页面上的值。 我正在使用Jquery来执行此操作。
必须在多选列表中重置这些值。
如果我更改了选择框中的值并单击重置,则必须在列表中设置DB中最后保存的值。
我正在尝试下面的
function resetNameDetails() {
$.ajax({
type: "POST",
url: 'resetNameDetailsAction.action?,
error: function(data) {
alert("error");
},
success: function(data) {
alert("sucess");
alert(data.userModel.nameList);
}
});
}
成功的第二个警报仅提供对象列表。我如何将此数据传输到选择控件。
更新
var nameListData = data.userModel.nameList;
var select = document.getElementById('nameList');
alert(select);
select.options.length = 0; // clear out existing items
for(var i=0; i < nameListData.length; i++) {
var d = nameListData[i];
alert(d);
select.options.add(new Option(d, i))
}
显示填充了[Object object]
的列表答案 0 :(得分:0)
假设data.userModel.nameList
是一个值数组,您可以这样做:
...
success: function(data) {
var values = data.userModel.nameList;
$(":checkbox").each(function(){
var value = $(this).attr("value");
if($.inArray(value, values))
$(this).attr("checked", true);
else
$(this).attr("checked", false);
});
}
...
编辑:这是复选框列表。对于多选,请执行以下操作:
...
success: function(data) {
var values = data.userModel.nameList;
$("#your_select option").each(function(){
var value = $(this).attr("value");
if($.inArray(value, values))
$(this).attr("selected", true);
else
$(this).attr("selected", false);
});
}
...
希望这会有所帮助。干杯