基于bootstrap实现多个下拉框同时搜索功能

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);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjfww.html