bootstrap实现多个下拉框同时搜索的实例
程序员文章站
2023-01-07 13:59:37
1、第一个下拉框代码
1、第一个下拉框代码
<div class="btn-group col-sm-3 col-xs-6 util-btn-margin-bottom-5 quick-search"> <!--快速查询--> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-search"></i></span> <select data-filter-type="2" name="copyfrom" class="form-control select2" data-validate="notempty" style="visibility: hidden;" 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 class="btn-group col-sm-3 col-xs-6 util-btn-margin-bottom-5 quick-search"> <!--快速查询--> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-search"></i></span> <select data-filter-type="2" name="cid" class="form-control select2" data-validate="notempty" style="visibility: hidden;" 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);
以上这篇bootstrap实现多个下拉框同时搜索的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。