下拉框搜索功能的實(shí)現(xiàn)。
首先我們先做一個(gè)下拉框
<div class="col-sm-4">
<label class="col-md-4 control-label" for="">會(huì)員等級(jí)</label>
<div class="col-md-6">
<select id="selMiLevType" class="form-control">
<option value="">不限</option>
<option value="2">會(huì)員</option>
<option value="3">尊享會(huì)員</option>
</select>
</div>
<div class="col-md-2" style="text-align:right; padding-bottom:5px;">
<button id="btnMiSearch" class="btn btn-pink" style="margin-right:15px;">搜索</button>
</div>
</div>
寫入按鈕觸發(fā)事件,loadAjax方法事先已經(jīng)封裝好在pagingJs.js里面。
pagingJs.js:
var pagingJs = {};
pagingJs.loadAjax = function(options){
var defaults = {
type:'post',//post,get
url:'../ajax/list_ajax.jsp',
resultID:'listAjaxDiv',
cache:false,
data:{pageNum:1},
numID:'numEntries',//列表總條數(shù)的位置
//=============
result:'tr.result',
pageID:'Pagination',
loadingID:'Loading',
num_edge_entries: 1,
num_display_entries: 2,
items_per_page:1,
link_to:'javascript:void(0)',
prev_text:'上一頁',
next_text:'下一頁',
hasLoading:true,
hasJump:true,
isFirst:'0',
isReload:false,
lockID:'',
remarkID:'',
onComplete: function(){}
};
var opts = $.extend(defaults, options);
if(opts.isReload === true || opts.isReload === "true"){
var pageNum = $("#" + opts.pageID).data("page");
opts.data.pageNum = pageNum ? pageNum : "1";
}
opts.items_per_page = opts.data.limitNum;
if (opts.hasLoading) {
var height = $("#" + opts.loadingID).height();
$("#" + opts.loadingID).height(height);
$("#" + opts.resultID).html(pagingJs.loadingMask);
}
pagingJs.initPagination(opts);
if (opts.lockID != null && opts.lockID != '') {
try {
App.blockUI({
target: $('#' + opts.lockID)
,animate: true
,overlayColor: '#000'
});
} catch(e) {}
}
$.ajax({
type: opts.type,
url: opts.url,
data: opts.data,
cache: opts.cache,
complete: function() {
if (opts.hasLoading) { $('#LoadingDisplay').hide(); }
try { App.unblockUI($('#' + opts.lockID)); } catch(e) {}
if (opts.remarkID != null && opts.remarkID != '' && opts.numID != null && opts.numID != '') {
var iCount = parseInt($("#" + opts.numID).val());
if (iCount > 0) {
$("#" + opts.remarkID).show();
} else {
$("#" + opts.remarkID).hide();
}
}
},
success: function(cont) {
$("#" + opts.loadingID).height("auto");
$("#" + opts.resultID).html(cont);
$("#" + opts.pageID).data("page", opts.data.pageNum);
pagingJs.initPagination(opts);
opts.onComplete();
}
});
};
搜索按鈕事件方法:
var memberInfo = {};
memberInfo.loadMemberInfo = function(){
pagingJs.loadAjax({
url: "customerAction_pageListMemberInfo"
,type: "POST"
,hasLoading:false
,data:{
pageNum: 1// 顯示第幾頁
,limitNum: 10// 每頁顯示多少條
,"cvoParameter.memberType": $("#selMiLevType").val()
}
,resultID: "pageContent-info"http:// 列表內(nèi)容顯示的位置
,pageID: "pageIndex-info"http:// 分頁顯示位置
,numID: "pageTotalSize-memberInfo"
,lockID: "pageLock-memberInfo"
});
return false;
};
$("#btnMiSearch").click(memberInfo.loadMemberInfo);
customerAction的pageListMemberInfo方法:(CommonVo 和MessageVo 是建立通用對(duì)象)
/**
* 分頁列出會(huì)員資料
*/
@IAccess(competenceNumber = { GlobalCache.UserRole.SPD }, returnFormat = GlobalCache.PAGE)
public String pageListMemberInfo() {
CommonVo cvoParams = getCvoParameter();
MessageVo mvoResult = funMember.pageListMemberInfo(cvoParams);
setMvoMessage(mvoResult);
return "member_info_list";
pageListMemberInfo();方法
/**
* 分頁列出會(huì)員資料
* @param cvoParams
* @return
*/
@SuppressWarnings("unchecked")
public MessageVo pageListMemberInfo(CommonVo cvoParams) {
cvoParams.setUseState("1");
cvoParams.setOrderBy(" order by id desc ");
cvoParams.setMemberType(cvoParams.getMemberType());
String sCondition = "";
if (StringUtils.isEmpty(cvoParams.getMemberType())) {
sCondition += " and (member_type='2' or member_type='3') ";
}
cvoParams.setSql(sCondition);
MessageVo mvoResult = null;
if ("1".equals(cvoParams.getRemark())) {// 只顯示我的客戶
mvoResult = vdoHistoryCustomerInfo.getList(cvoParams);
} else {
mvoResult = vdoCustomerInfo.getList(cvoParams);
}
List<CommonVo> lstResult = (List<CommonVo>) mvoResult.getLstResult();
if (lstResult != null) {
for (CommonVo cvoRelative : lstResult) {
cvoRelative.setAgeUnit(CommonBean.getAgeByBirthday(cvoRelative.getBirthday(), 1)[2]);
}
}
return mvoResult;
}
getList();方法也是封裝好的dao。
接下來就是返回頁面return "member_info_list";
在strust.xml文件配置好返回頁面member_info_list.jsp
<s:iterator value="mvoMessage.lstResult" var="item" status="st">
<tr data-id="<s:property value='#item.id'/>"
data-customerid="<s:property value='#item.customerId'/>">
<td style="text-align:left;"><label class="pointer"><s:if test="mvoMessage.operateMode == 'show-checkbox'.toString()"><input type="checkbox" class="icheck" name="ckbMILClinicNumber" value='<s:property value="#item.id"/>' /></s:if><s:property value="#item.clinicNumber"/></label></td>
<td class="col-memberType" data-value="<s:property value='#item.memberType'/>"></td>
</tr>
</s:iterator>
再添加上這句就完成了
$("#tblMemberInfoList .col-memberType").each(function(){
var sValue = commonJs.renderValue($(this).data("value"), "memberType");
$(this).text($(this).text() + sValue);