本文实例讲述了jQuery基于xml格式数据实现模糊查询及分页功能的方法。分享给大家供大家参考,具体如下:
1、此代码只支持xml 格式数据,根据不同需求修改ajax的success方法就ok了
2、此代码只是针对ajax只需一次请求的情况下
=pagesize&&rownum%pagesize==0||resultlist.length==rownum){
ids+=","+"'"+resultlist[i]+"']";
jsonstr+=point+"'"+$.pagetotal+"':"+ids;
ids="[";
num=0;
if(rownum%pagesize==0){
$.pagetotal++;
}
}else{
point=num==0?"":",";
ids+=point+"'"+resultlist[i]+"'";
num++;
}
}
jsonstr+="}";
$.resultdata=eval("("+jsonstr+")");
//初始化结果列表
if(rownum==0)return;
var pagenum=1;
$.pageto(pagenum,$.resultdata,$("#"+id+" ul"));
if($.pagetotal>1){
$.pagetool.createpagetool($.pagetotal);
$.pagetool.pageto(pagenum,$.pagetotal);
$("#pagetool span[pagenum='1']").css("backgroundColor",'lightblue');
}else{
$("#pagetool").html("");
}
$("#pagetool .num").click(function(){
pagenum=eval($(this).text());
$("#pagetool span").css("backgroundColor",'white');
$(this).css("backgroundColor",'lightblue');
$.pageto(pagenum,$("#"+id+" ul"));
});
$("#pagetool .up").click(function(){
pagenum--;
if(pagenum!=0){
$("#pagetool span").css("backgroundColor",'white');
$("#pagetool span[pagenum='"+pagenum+"']").css("backgroundColor",$("#"+id+" ul"));
$.pagetool.pageto(pagenum);
}else{
pagenum++;
}
});
$("#pagetool .down").click(function(){
pagenum++;
if(pagenum<=$.pagetotal){
$("#pagetool span").css("backgroundColor",$("#"+id+" ul"));
$.pagetool.pageto(pagenum);
}else{
pagenum--;
}
});
});
};
//工具栏分页
$.pagetool = {
createpagetool : function(pagetotal) {
var html = "up";
var pagetoolpagenum=1;
for (var i = 1; i <= pagetotal; i++) {
if(i%5==1&&i>5){
pagetoolpagenum++;
}
html += "" + i
+ "";
}
html += "down";
$("#pagetool").html(html);
},pageto : function(pagenum,pagetotal) {
var pagetoolpagenum=1;
if(pagenum>5){
pagetoolpagenum=Math.ceil(pagenum/5);
}
$("#pagetool span").hide();
$("#pagetool span:first").show();
$("#pagetool span[i='"+pagetoolpagenum+"']").show();
$("#pagetool span:last").show();
}
};
//模糊搜索
$.indexsearch=function(indexdata,keyword){
var resultids=new Array();
for (var key in $.indexdata){
if(key.indexOf(keyword)!=-1)
resultids.push($.indexdata[key]);
}
return resultids;
};
//跳页程序
$.pageto=function(pagenum,data,obj){
var list=data[pagenum];
var html="";
obj.html(html);
obj.parent().show();
$(list).each(function(i){
try{
html+='@H_403_14@'+$.jsondata[list[i]].JGMC+'';
}catch(e){}
});
obj.html(html);
obj.find("li").bind({//结果集的点击事件
"click":function(){
$.select($(this));
obj.parent().hide();
obj.parent().find("#pagetool").html("");
},"mouSEOver":function(){//结果集的鼠标悬浮事件
$(this).parent().find("li").css("backgroundColor","white");
$(this).css("backgroundColor","lightblue");
}
});
};
}(jQuery));