通过ajax调用获取多选列表框值到spring控制器

时间:2015-05-13 17:47:27

标签: javascript jquery ajax spring spring-mvc

我有一个多选列表框。我想将用户选择的列表框值发送到弹簧控制器。我正在进行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将用户选择的列表框值发送到弹簧控制器。

1 个答案:

答案 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