獲取下拉框所有信息,提交信息進行校驗

在這裏插入圖片描述
後端代碼:

/**
	 * 人員JSON
	 * @return
	 */
	@RequestMapping(value = "/list",method = RequestMethod.GET)
	@ResponseBody
	public String list(HttpServletRequest request) {
		Long id = getCurrentUserId();
		Map<String, Object> searchParams = Servlets.getParametersStartingWith(request, "search_");
		searchParams.put("EQ_deleteFlag", Constant.ENTERPRISE_NOT_DELETE);
		searchParams.put("EQ_userId", id);//獲取該用戶下的記錄
		
		String type = request.getParameter("type");
		if(!(type==null || type.equals(""))){
			searchParams.put("EQ_type", Integer.parseInt(type));
		}
		List<Personal> personalInfo = personalService.findAll(searchParams);
		String json = JSONArray.fromObject(personalInfo).toString();
		return json;
	}

前端代碼:
//獲取駕駛員下拉框信息

 var drivers;
    $.ajax({
        url:'${ctx}/personal/list?type=0',
        type : 'get',
        success : function(result) {
            drivers = JSON.parse(result);
        }
    });
    filter函數遍歷drivers集合。
   	var driver = $("#driver").combobox("getText");//車輛信息
	      var driverList = drivers.filter(function (num) {
            return num.name === driver;
        } );
        if (driverList.length <= 0) {
            $.messager.alert("警告", "請輸入正確的駕駛員信息!", "warning");
            return;
        }
如果後端返回的是map集合
/**
 *  電子貨單中獲取下拉信息
 * @param request
 * @return
 */
@RequestMapping(value="/getVehsForEle",method=RequestMethod.GET)
@ResponseBody
public List<Map<String, Object>> getVehsForEle(HttpServletRequest request){
	
	
	List<Map<String, Object>> maps = new ArrayList<Map<String,Object>>();
	Map<String, Object> searchParams = Servlets.getParametersStartingWith(request, "search_");
	searchParams.put("EQ_deleteFlag", Constant.ENTERPRISE_NOT_DELETE);//獲取未刪除的記錄
	searchParams.put("EQ_userId", getCurrentUserId());//獲取該用戶下的記錄
	
	List<Vehicle> vehicles = vehicleService.findAll(searchParams);
	for(Vehicle vehicle:vehicles){
		Map<String, Object> map = new HashMap<String, Object>();
		String color = "";
		if(vehicle.getVehicleColor()==Constant.PLATE_COLOR_BLUE){
			color = Constant.PLATE_COLOR_BLUE_;
		}else if(vehicle.getVehicleColor()==Constant.PLATE_COLOR_YELLOW){
			color = Constant.PLATE_COLOR_YELLOW_;
		}else if(vehicle.getVehicleColor()==Constant.PLATE_COLOR_BLACK){
			color = Constant.PLATE_COLOR_BLACK_;
		}else if(vehicle.getVehicleColor()==Constant.PLATE_COLOR_WHITE){
			color = Constant.PLATE_COLOR_WHITE_;
		}
		map.put("text", vehicle.getPlateNumber()+"("+color+")");
		map.put("id", vehicle.getApprovedLoadQuality()+","+vehicle.getVehicleTypePolice()+","+vehicle.getUnitName()+","+(vehicle.getPlateNumber()+vehicle.getVehicleColor()) );
		maps.add(map);
	}
	
	return maps;
}

前端處理:

var plateNumbers;
    $.ajax({
        url:'${ctx}/vehicle/getVehsForEle',
        type : 'get',
        success : function(result) {
            /*爲easyui-combobox動態添加數據*/
            plateNumbers =  result;
            $('#veh').combobox({
                valueField:'id',
                textField:'text',
                data : result, /*這邊的result格式要爲標準的json格式,且有id和name兩個鍵*/
                //獲取車輛下拉框信息
                editable:true, //不可編輯狀態
                cache: false,
                panelHeight: '200',//自動高度適合
                onHidePanel: function(){
                    var idlp = $('#veh').combobox('getValue');
                    var idlps = idlp.split(",");
                    $("#vehLoad").textbox('setValue',idlps[0]);
                    $("#vehType").textbox('setValue',idlps[1]);
                    $("#vehEn").textbox('setValue',idlps[2]);
                },
                //filter函數過濾作用
                filter: function(q, row){
                    var opts = $(this).combobox('options');
                    //return row[opts.textField].indexOf(q) == 0;
                    return row[opts.textField].indexOf(q)>-1;//將從頭位置匹配改爲任意匹配
                },
                onSelect:function(record){
                    var switchValue = <%=TrafficPermitSwitchController.getSwitchValue()%>;
                    if(switchValue==1){		//開關打開;需要驗證
                        $.ajax({
                            type:'post',
                            async:false,
                            url:'${ctx}/vehicle/checkPermit',
                            data:{
                                licenseAll:record.text
                            },
                            success:function(data){
                                if(data && data==true){		//存在通行證
                                    trafficPermitExist = true;
                                }else{						//沒有通行證
                                    trafficPermitExist = false;
                                }
                            }
                        });
                    }else{		//開關關閉;
                        trafficPermitExist = true;
                    }
                }
            });
           // console.log(result);
        }
    });
    
        var plateNumberList = plateNumbers.filter(function (num) {
            return num.text === veh;
        } );
        if (plateNumberList.length <= 0) {
            $.messager.alert("警告", "請輸入正確的車牌號!", "warning");
            return;
        }

最終實現效果下拉框可以模糊搜索,提交時進行校驗,如果提交時下拉框的值是後臺有效的值提交,不是給出提示:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章