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