//Modal
function Modal(obj){
var that = this;
that.ref = "";
that.obj = obj;
that.init();
}
Modal.prototype = {
init:function(){
var that = this;
jQuery('.modal-head i[role="close-modal"],[role="btncancel"],[role="btnok"]').click(function (){
$(this).parents('.modal').removeClass('modal-in');
$('body').removeClass('modal-open');
console.log(new Date().getTime())
});
jQuery('[data-toggle="modal"]').click(function(e){
e.preventDefault();
that.ref = jQuery(this).attr('href');
if(that.obj == that.ref ){
that.showModal();
} })
},
showModal:function(callback){
var that = this;
jQuery(that.obj).addClass('modal-in');
jQuery('body').addClass('modal-open');
if(callback!=="" && callback!==undefined && jQuery.isFunction(callback)){
callback();
}
},
closeModal:function(callback){
var that = this;
jQuery(that.obj).removeClass('modal-in');
jQuery('body').removeClass('modal-open');
if(callback!=="" && callback!==undefined && jQuery.isFunction(callback)){
callback();
}
}
} jQuery(function(){
var pages = null;
var clickedPage = false;
var curPage = null;
function renderData(){
var url =contextPath+"/admin/query_goods.htm",
data = arguments[0],
status = arguments[1];
jQuery.ajax({
type:"post",
url:url,
data:data,
async:false,
success:function(data){
data = JSON.parse(data);
pages = data[1].Pages;
curPage = data[1].CurrentPage;
console.log(data[1].Pages);
if(data && data[0].goods_info.length>0){
var html = '';
jQuery.each(data[0].goods_info,function(i,item){
html += '<tr id="'+item.id+'">'
+'<td align="center"><label class="s-checkbox"><input type="checkbox" class="custom-checkbox" /><span></span></label></td>'
+'<td align="center">'+item.id+'</td>'
+'<td align="center">'+item.goods_name+'</td>'
+'<td align="center">'+item.net_content+'</td>'
+'<td align="center">'+item.store_price+'</td>'
'</tr>'; })
jQuery('.fshop_table.coupon-list tbody').html(html);
}
//没有点击分页按钮时就以这种方式渲染page
if(!status){
var pageContent = '';
for(var i=0;i<data[1].Pages;i++){
if(data[1].CurrentPage==(i+1)){
pageContent +='<li class="s-page-bage active"><span >'+data[1].CurrentPage+'</span></li>';
}
else{
pageContent +='<li class="s-page-bage"><span >'+(i+1)+'</span></li>';
}
}
jQuery('.s-goodslist-pages ul').html(pageContent);
var width = parseInt(jQuery('.s-page-bage span').width())+15;
jQuery('.s-goodslist-pages ul').css('width',width*(data[1].Pages));
}
},
error:function(e){
console.debug('加载商品数据出错:'+e)
}
})
} function renderPages(curPage){
if((curPage-2)>0 && (curPage+2) < pages){
pageContent ='<li class="s-page-bage"><span >'+(curPage-2)+'</span></li>'
+'<li class="s-page-bage"><span >'+(curPage-1)+'</span></li>'
+'<li class="s-page-bage active"><span >'+(curPage)+'</span></li>'
+'<li class="s-page-bage"><span >'+(curPage+1)+'</span></li>'
+'<li class="s-page-bage "><span >'+(curPage+2)+'</span></li>';
jQuery('.s-goodslist-pages ul').html(pageContent);
}
else if(curPage==(pages-2)){
pageContent ='<li class="s-page-bage"><span >'+(pages-4)+'</span></li>'
+'<li class="s-page-bage"><span >'+(pages-3)+'</span></li>'
+'<li class="s-page-bage active"><span >'+(pages-2)+'</span></li>'
+'<li class="s-page-bage"><span >'+(pages-1)+'</span></li>'
+'<li class="s-page-bage"><span >'+(pages)+'</span></li>';
jQuery('.s-goodslist-pages ul').html(pageContent);
}
else if(curPage==(pages-1)){
pageContent ='<li class="s-page-bage"><span >'+(pages-4)+'</span></li>'
+'<li class="s-page-bage"><span >'+(pages-3)+'</span></li>'
+'<li class="s-page-bage"><span >'+(pages-2)+'</span></li>'
+'<li class="s-page-bage active"><span >'+(pages-1)+'</span></li>'
+'<li class="s-page-bage"><span >'+(pages)+'</span></li>';
jQuery('.s-goodslist-pages ul').html(pageContent);
}
else if(curPage==2){
pageContent ='<li class="s-page-bage"><span>'+1+'</span></li>'
+'<li class="s-page-bage active"><span >'+2+'</span></li>'
+'<li class="s-page-bage"><span >'+3+'</span></li>'
+'<li class="s-page-bage"><span >'+4+'</span></li>'
+'<li class="s-page-bage"><span >'+5+'</span></li>';
jQuery('.s-goodslist-pages ul').html(pageContent);
} } function loadData(){
renderData();
} loadData(); //分页
jQuery('.s-page-bage').live('click',function(){
var curPage = parseInt(jQuery(this).find('span').text()),
goodsClass = jQuery('#goods_class').val(),
storeName = jQuery('#store_name').val(),
goodsBrand = jQuery('#goods_brand').val(),
goodsName = jQuery('#goods_name').val(),
pageContent = null,
data = {goods_class:goodsClass,store_name:storeName,goods_brand:goodsBrand,goods_name:goodsName,currentPage:curPage};
clickedPage = true;
jQuery(this).addClass('active').siblings().removeClass('active');
renderData(data,clickedPage);
renderPages(curPage);
}) //查询
jQuery('#s-search-goods-list').live('click',function(){
var goodsClass = jQuery('#goods_class').val(),
storeName = jQuery('#store_name').val(),
goodsBrand = jQuery('#goods_brand').val(),
goodsName = jQuery('#goods_name').val(),
data = {goods_class:goodsClass,store_name:storeName,goods_brand:goodsBrand,goods_name:goodsName,currentPage:curPage};
renderData(data,clickedPage);
renderPages(curPage);
}) //确认选择的商品
var modalCouponGoods = new Modal('#showCouponList');
jQuery('#selectGoodsOk').click(function(){
var checkedContent = jQuery('#coupon-list tbody').find('tr input[type="checkbox"]:checked');
var selectedVal = [];
modalCouponGoods.closeModal(function(){
jQuery.each(checkedContent,function(i,item){
selectedVal.push(jQuery(item).parents('tr').attr('id'));
})
jQuery('#selectedVal').val(selectedVal.join(','));
})
})
})

  

javascript笔记——前端实现分页和查询的更多相关文章

  1. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  2. 基于ArcGISServer进行分页矢量查询的方案进阶

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.    背景 在空间查询中,我们对查询结果要求以分页形式进行展示.G ...

  3. Django中前端界面实现级联查询

    Django前端界面实现级联查询 一.前端界面中 <span scope="col" colspan="6"> 院系:<select id=& ...

  4. MyBatis Plus 实现多表分页模糊查询

    项目中使用springboot+mybatis-plus来实现. 但是之前处理的时候都是一个功能,比如分页查询,条件查询,模糊查询. 这次将这个几个功能合起来就有点头疼,写下这边博客来记录自己碰到的问 ...

  5. 分页查询和分页缓存查询,List<Map<String, Object>>遍历和Map遍历

    分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = pag ...

  6. Javascript实现前端简单路由

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http ...

  7. webform:分页组合查询

    一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql"& ...

  8. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  9. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

随机推荐

  1. 你真的会使用SQL Server的备份还原功能吗?之一:恢复模型

    在SQL Server中,除了系统数据库外,你创建的每一个数据库都有三种可供选择的恢复模型: Simple(简单), full(完整), bulk-logged(批量日志). 下面这条语句可以显示出所 ...

  2. LOCK TABLES

    http://blog.csdn.net/zyz511919766/article/details/16342003 http://blog.csdn.net/zyz511919766/article ...

  3. postgrel 调试

    http://blog.csdn.net/anzelin_ruc/article/details/8539411

  4. NopCmmerce Area前后台分离

    Nop 前后台是独立的应用程序:使用用Area技术分离:Nop.Admin项目放在Nop.Web项目的administration文件夹下面,通过编辑类库输入路径到Nop.Web的Bin目录下面: 分 ...

  5. opengl之vsh、fsh简易介绍+cocos2dx 3.0 shader 变灰

    认识着色器 理解OpenGL渲染管线,对于学习OpenGL非常重要.下面是OpenGL渲染管线的示意图:(图中淡蓝色区域是可以编程的阶段) 此图是从wiki中拿过来的,OpenGL的渲染管线主要包括: ...

  6. maven-使用assembly自定义打包

    用maven管理项目引用依赖很方便,但是打包的时候如果是web包还好,会直接把依赖的jar包打到lib目录中,如果是jar包的话,依赖默认是不打入进去的 这样如果运行环境中没有依赖的jar包,就麻烦了 ...

  7. tachyon with hadoop

    hadoop2.2.0 jdk1.7 tachyon0.5.0 无zookeeper tachyon和hadoop都是伪分布式模式 1.修改core-site.xml文件 <property&g ...

  8. HTML常用标签和属性大全

    html标签< <marquee>...</marquee>普通卷动 <marquee behavior=slide>...</marquee>滑 ...

  9. IOS 应用 退出的一个小方法

    AppDelegate * app=(AppDelegate *)[[UIApplication sharedApplication]delegate]; UIWindow *window = app ...

  10. MVC3+Linq to sql 显示数据库中数据表的数据

    1:首先创建asp.net mvc3应用程序 2:创建项目完成后 找到controllers文件鼠标右击选择添加控制器 3 为models文件夹添加一个linq to sql类文件,然后把数据库中的数 ...