我有一个多选列表框。我想将用户选择的列表框值发送到弹簧控制器。我正在进行ajax调用以执行操作。 请通过ajax调用建议如何将多选列表框中的所有值发送到java spring控制器并获取所有选中的列表框值。请找到小提琴https://jsfiddle.net/bwc3yqme/5/。
以下是我的ajax电话:
function updatedInfo()
{
var xmlHttp;
if (window.XMLHttpRequest)
{
xmlHttp= new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
}
var url = contextPath+"/updateInfo.htm";
xmlHttp.onreadystatechange = function() {
handleServerResponse(xmlHttp);
};
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
function handleServerResponse(xmlHttp)
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
}
}
}
控制器:
@RequestMapping(value = "/updateInfo", method = RequestMethod.GET)
public void updateInfo(HttpServletRequest request,
HttpServletResponse response, @ModelAttribute MyDataDTO myDto,BindingResult beException,final @RequestParam("selItems") String params){
//i want to get the user selected list box values...
}
请建议如何通过ajax将用户选择的列表框值发送到弹簧控制器。
答案 0 :(得分:2)
使用JQuery在updateInfo
函数中获取右侧列表框中的所有值:
var params = "?";
var andParam = "";
$("#d option").each(function(){
params += andParam + "selected=" + $(this).val();
andParam = "&";
});
将其作为参数添加到您的网址,如下所示:
var url = contextPath+"/updateInfo.htm"+params;
然后从请求中读取它(它将是一个数组):
request.getParameter("selected");
已编辑Fiddle