0

「State」と「City」の 2 つのボックスを選択しました。ここでは、ブランチの値が状態に基づいて入力されます。これを行うのに役立つコードスニペットを次に示します。

@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」を返すには、コントローラーを少し変更する必要があると思います。私のコントローラーは何を返すべきですか?どのような形式で?「オハイオ」、「ミラノ」、「シドニー」を表示したい場合は言ってください。

4

0 に答える 0