我正在尝试根据第一个下拉列表的选定值将值添加到我的jsp页面的下拉列表中。我正在调用数据库查询以获取用户在select.change事件的第二个下拉列表中的值。但我在第二个下拉列表中获得空值。我尝试了很多方法,但没有任何方法。可能是什么原因?有人可以帮忙吗?
此外,我需要知道第二个下拉列表应编码为option = option + "<option value='" + data[sb].name + "'>" +data[sb].name + "</option>";
或option = option + "<form:option value='" + data[sb].name + "'>" +data[sb].name + "</form:option>";
,因为我还需要将所选值记录到数据库中。
提前致谢
第一个下拉列表的代码:
@RequestMapping(value = "/add", method = RequestMethod.GET)
public String showFirstList(Model model) {
List<Map<String, Object>> firstList = countryRepository.getList();
model.addAttribute("firstList",firstList);
model.addAttribute("command", new Record());
return "newFirst";
}
ajax调用第二个下拉列表填充。
$("#selectSecond").change(function(){
var firstList = $(this).val();
$.ajax({
type: "POST",
url: "https://localhost:8081/countPro/getSecndList,
//dataType: "JSON",
data: {"countryNm" : countryNm},
success: function(data){
var slctSecond = $("#slctSecond"), option= "";
for(var s =0; s<data.length; s++){
option = option + "<option value='" + data[s].name + "'>" +data[s].name + "</option>";
}
slctSecond.append(option);
alert(data);
},
error:function(e){
alert("error " + e);
}
});
});
处理ajax调用的控制器方法:
@RequestMapping(value="/getSecndList",method=RequestMethod.POST)
public @ResponseBody List<Map<String, Object>> getSecndList(@RequestParam("countryNm")String countryNm){
return countryRepository.retrieveSublist(countryNm);
}