easyUI combobox 文字框模糊搜尋問題
阿新 • • 發佈:2018-12-20
優點:ajax 非同步獲取資料,動態繫結,支援半模糊查詢(順序查詢)
缺點:不支援純模糊查詢
上圖:
html 頁面程式碼
<input class="easyui-combobox" name="CVirDptCde" id="CVirDptCde" data-options="valueField:'id',textField:'text',panelHeight:'auto',panelMaxHeight:200,panelMinHeight:100" style="width: 200px;height: 29px"/>
js 程式碼
$.ajax({ url:'common_loadOrganDpt.action', type:"post", dataType:'json', data:{CDptCde:CDptCde}, success:function(datas){ $("#"+id).find("option:gt(0)").remove(); $("#"+id).combobox({ width: 200, valueField: 'id', textField: 'name', data: datas, filter: function(q, row){ var opts = $(this).combobox('options'); return row[opts.textField].indexOf(q) == 0; } }); } });
java 程式碼(簡單來說就是返回一個 jsonList)
//載入客戶機構 public String loadOrganDpt(){ String CDptCde = request.getParameter("CDptCde"); Map<String,Object> params = new HashMap<String, Object>(); if(StringUtils.isNotBlank(CDptCde)){ params.put("CDptCde", CDptCde); } List<WxOrgan> list = organDptService.getList(WxOrgan.class,params); List<Map<String,Object>> jsonList = new ArrayList<Map<String,Object>>(); for (WxOrgan organ : list) { Map<String,Object> map = new HashMap<String,Object>(); map.put("id", organ.getCVirtualCde()); map.put("name", organ.getCVirtualNme()); jsonList.add(map); } Struts2Utils.renderJson(jsonList, "encoding:utf-8"); return null; }