autocomplete(自动完成)

关于自动完成的前台代码。 附件为JS引用

$(document).ready(function() {
        $("#FSitenameBasestation").autocomplete("fault_auto.do", 
          { 
minChars: 1,
max:30,
width: 220,
matchContains: true,
dataType:'json',
autoFill: false,
matchSubset:true,
extraParams: {  
        siteinfo: function()
          {
            return encodeURI($("#FSitenameBasestation").val());
          }  
    },
       parse: function(data){
       var rows = [];
       for(var i=0; i<data.length; i++){
         rows[rows.length] = {data:data[i].siteName + "(" + data[i].siteUrban + ")",value:data[i].siteName + "(" + data[i].siteUrban + ")",result:data[i].siteName};
       }          
  return rows;
    },
            formatItem:function(item){
       return item;
        }
         })
         //完成后的业务
         .result(function(event,data,formatted){ 
             
         }); 
});


action


private List<Map<String,String>> siteInfoList;

/**
* 自动完成
* @return
* @throws UnsupportedEncodingException
*/
public String auto() throws Exception{
String siteInfo = java.net.URLDecoder.decode(this.siteinfo,"UTF-8");
Map<String,List<TSiteBmsVO>> map=new HashMap<String, List<TSiteBmsVO>>(); 
TSiteBmsVO siteVo = new TSiteBmsVO();
siteVo.setFSitenameBasestation(siteInfo);
List<TSiteBmsVO> siteList = tFaultsentlistService.querySiteName(siteVo);
Iterator<TSiteBmsVO> siteListIte = siteList.iterator();
siteInfoList=new LinkedList<Map<String,String>>();
while(siteListIte.hasNext()){

Map<String,String> siteMap=new HashMap<String,String>();
TSiteBmsVO tempVo = siteListIte.next();
siteMap.put("siteId", tempVo.getFIdBasestation());
siteMap.put("siteUrban", tempVo.getFUrbanBasestation());
siteMap.put("siteName", tempVo.getFSitenameBasestation());
siteInfoList.add(siteMap);
}

return "auto";
}

XML

<result name="auto" type="json">
           <param name="root">siteInfoList</param>
    </result>

猜你喜欢

转载自xiyuliuguang.iteye.com/blog/1855633