1. 程式人生 > >easyUI combobox 文字框模糊搜尋問題

easyUI combobox 文字框模糊搜尋問題

優點: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;
	}