1.第一个下拉框代码
<div> <!--快速查询--> <div> <span><i></i></span> <select data-filter-type="2" data-validate="notempty" data-field="name" data-placeholder="搜索数据资源"> <option value="">请选择数据资源</option> <optgroup label="UNESCO二类中心"> <#list data.copyfromList as entity> <#if (entity.type?? && entity.type == '1')> <option value="${entity.alias!}" <#if (param.copyfrom?? && param.copyfrom == entity.alias)>selected</#if>>${entity.alias!}</option> </#if> </#list> </optgroup> <optgroup label="科技动态与进展"> <#list data.copyfromList as entity> <#if (entity.type?? && entity.type == '7')> <option value="${entity.alias!}" <#if (param.copyfrom?? && param.copyfrom == entity.alias)>selected</#if>>${entity.alias!}</option> </#if> </#list> </optgroup> <optgroup label="其他"> <#list data.copyfromList as entity> <#if (entity.type?? && entity.type == '8')> <option value="${entity.alias!}" <#if (param.copyfrom?? && param.copyfrom == entity.alias)>selected</#if>>${entity.alias!}</option> </#if> </#list> </optgroup> </select> </div> </div>
2.第二个下拉框代码
<div> <!--快速查询--> <div> <span><i></i></span> <select data-filter-type="2" data-validate="notempty" data-field="name" data-placeholder="搜索栏目名称"> <option value=""></option> <#list data.categories as entity> <option value="${entity.id}" <#if (param.cid?? && param.cid == entity.id)>selected</#if>>${entity.id} - ${entity.name}</option> </#list> </select> </div> </div>
3.后台js代码(url 参数整理)
bindEvents:function(){ var self = this, dom = self.element; $('select[name="copyfrom"]', dom).change(function(event){ self.params.copyfrom = $(this).val(); var url = self.formatParams(self.params); window.location.href = "cekasp_article.htm" + url; }); $('select[name="cid"]', dom).change(function(event){ self.params.cid = $(this).val(); var url = self.formatParams(self.params); window.location.href = "cekasp_article.htm" + url; }); } formatParams:function(params){ var self = this; var url = ""; for(var param in params){ if(params[param]){ url += param + "=" + params[param] + "&"; } } if(url.length > 0){ url = "?" + url.substring(0,url.length-1); } return url; }
4.后台java部分代码(接收参数,然后过滤器根据参数得到想要的结果)
String categoryId = request.optString("cid"); if (!ValidateUtil.isNull(categoryId)) { // 加载栏目信息 JSONObject jsonCategory = toJSONObject(adminService.loadById(CekaspCategory.class, categoryId)); response.put("category", jsonCategory); param.addFilter("id", FilterType.IN, articleIdList, 1); } String copyfrom = request.optString("copyfrom"); if (!ValidateUtil.isNull(copyfrom)) { param.addFilter("copyfrom", FilterType.EQUALS, copyfrom); } List<CekaspArticle> articleList = adminService.list(CekaspArticle.class,param);