//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. birt 批改导出的文件名【转】

    birt 修改导出的文件名 birt 修改导出的文件名分两种实现方法, 第一种:修改 web.xml 中 配置的 BIRT_FILENAME_GENERATOR_CLASS <!-- Filen ...

  2. MySQL Handler变量解析

      http://blog.itpub.net/29254281/viewspace-1159014/ To see the effect of a query do the following st ...

  3. 如何在Fedora或CentOS上使用Samba共享

    如今,无论在家里或者是办公场所,不同的电脑之间共享文件夹已不是什么新鲜事了.在这种趋势下,现代操作系统通过网络文件系统的方式使得电脑间数据的交换变得简单而透明.如果您工作的环境中既有微软的Window ...

  4. 计算运行时间工具timeit

    Table of Contents 1. timeit的功能和用法 2. 其它 3. 参考资料 timeit的功能和用法 timeit 模块提供了测试一小段代码运行时间的功能.我前面有一篇文章用它来测 ...

  5. 沈逸老师PHP魔鬼特训笔记(6)--巫术与骨架

    PHP最牛逼的特性之一除了懒人函数,还有一些魔法函数. 首先我们来认识下__tostring,通过一个巫术方法,我们吧实例转化过后的类,直接当字符串输出.结合我们前面所做的功能,我们在类里面加上这个函 ...

  6. 【阿里云产品公测】Opensearch使用体验和评测

    作者:阿里云用户outofmemory 昨天晚上收到了阿里云发的邮件,Open search可以申请公测了,于是迫不及待申请了测试,审核人员很高效,过了不到俩小时给批下来了.  很开心,于是趁今天是周 ...

  7. vb.net详解MDI窗体操作方法

    MDI窗体可以避免打开窗体的时候被无数个子窗体困扰,我将为大家一一的介绍一下vb.net中MDI窗体的操作方法 一.如何创建MDI窗体? 1.创建mdi主窗体 新建建立一个默认空白的Windows应用 ...

  8. 移动端 viewport设置

    <meta name="viewport" content="" /> width [pixel_value | device-width] wid ...

  9. Apache 日志分析(二)

    01.查看IP cat access_log | awk ‘{print $1}’   02.对IP排序 cat access_log | awk ‘{print $1}’ | sort   03.打 ...

  10. hdu 3917 Road constructions 最大权闭合子图

    样例说明: n(城市数目)   m(工程队数目) 每个工程队上交的税收 val[i] k(k个工程) xi   yi  ci  costi , 工程队ci承包由xi到yi,政府的补贴为costi 注意 ...