0

我做了两个选择框“州”和“城市”。这里分支的值基于状态填充。这是帮助我做到这一点的代码片段。

@RequestMapping(value = "getBranchlist.htm", method = RequestMethod.GET, headers = "Accept=*/*")

    public  @ResponseBody String getBranchList(@RequestParam("state")String state) {

          ApplicationContext context = 
                     new ClassPathXmlApplicationContext("Beans.xml");

          MasterJDBCTemplate dao = 
                  (MasterJDBCTemplate)context.getBean("masterJDBCTemplate");

           List<String> fans = dao.getBranchList(state);
           String branch = "";
           for(String fan : fans)
           branch+=fan+",";
           if(branch.length()== 0){
               branch = "";
           }else{
           branch = branch.substring(0, branch.length() - 1);
           }
           return branch;
    }

和 jQuery 代码

$(function(){
     $("#state").change(function(){
      var state = $("#state").val();
      $.get("getBranchlist.htm",{ "state":state},function( data ) { 
            var target = $("#branch");
            target.find('option').remove();
            target.append($('<option/>').val("").text("---Select"));
            if(data == ""){
                return false;
            }
            var opts = data.split(',');
            $.each(opts, function(i, opt){
                   target.append(
                            $('<option/>').val(jQuery.trim(opt)).text(jQuery.trim(opt)));
            });  
      });
  });
});

据我所知,这很好用。

我尝试使用自动完成(显示数据库中的所有分支)功能,如下所示---> http://jqueryui.com/autocomplete/#remote

所以我试着这样做

$(function() {
$( "#branch" ).autocomplete({ source: "getBranchlist.htm" });
}

但是我没有得到输出。我想我必须对控制器进行一些更改才能返回“JSON”。我的控制器应该返回什么?以什么格式?假设我想展示“Ohio”、“Milan”、“Sydney”。

4

0 回答 0