工作笔记——前端分页数据回显

//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;
	  var selectedVal = [];	  	  

	  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){
	                	 if(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);

		                 }
	                	 else if(data[0].goods_info.length==0){
	                		 jQuery(‘.fshop_table.coupon-list tbody‘).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;
		          console.log(‘点击翻页时已有的数据‘+selectedVal)
	              jQuery(this).addClass(‘active‘).siblings().removeClass(‘active‘);

			      renderData(data,clickedPage);
			      renderPages(curPage);

              var tr = jQuery(‘.fshop_table.coupon-list tbody tr‘);
              jQuery.each(selectedVal,function(i,item){
             	 jQuery.each(tr,function(j,info){
             		 if(jQuery(info).attr(‘id‘)==item){
             			 jQuery(info).find(‘input[type="checkbox"]‘).prop(‘checked‘,true);
             		 }
             	 })
              })
	  })	  

      jQuery(‘#coupon-list tbody tr‘).live(‘click‘,function(){
	      var checkedContent = jQuery(‘#coupon-list tbody‘).find(‘tr input[type="checkbox"]:checked‘);
	          if(checkedContent.length>0){
	        	  //插入数据
	        	  jQuery.each(checkedContent,function(i,item){
		        	  var id = jQuery(item).parents(‘tr‘).attr(‘id‘);
		        	  if(selectedVal.length>0 && selectedVal.join(‘,‘).indexOf(id)>-1){
		        		  return true
		        	  }
		        	  else{
		        		  selectedVal.push(jQuery(item).parents(‘tr‘).attr(‘id‘));
		        	  }
		          });
	          }

	          if(!jQuery(this).find(‘input[type="checkbox"]‘).is(‘:checked‘)){
	        	  //删除取消的选择
        		  var id = jQuery(this).attr(‘id‘);
        		  if(selectedVal.length>0 && selectedVal.join(‘,‘).indexOf(id)>-1){
        			  var curIndex = jQuery.inArray(id,selectedVal);
        			      selectedVal.splice(curIndex,1);
	        	  }
	          }
      })

	  //查询
	  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(){
		    	modalCouponGoods.closeModal(function(){
		    		jQuery(‘#selectedVal‘).val(selectedVal.join(‘,‘));
		    	})
		    });

		  jQuery(‘.modal-head i[role="close-modal"]‘).click(function (){
			  modalCouponGoods.closeModal(function(){
				  jQuery(‘#selectedVal‘).val(‘‘);
			  })
          });
  })

  

时间: 2024-10-11 22:49:00

工作笔记——前端分页数据回显的相关文章

springmvc学习笔记(15)-数据回显

springmvc学习笔记(15)-数据回显 springmvc学习笔记15-数据回显 pojo数据回显方法 简单类型数据回显 本文介绍springmvc中数据回显的几种实现方法 数据回显:提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面. pojo数据回显方法 1.springmvc默认对pojo数据进行回显. pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写) 使用@ModelAttribute

ElementUI表格多选框根据后端传来的数据进行数据回显

前端部分代码:重要的是ref="multipleTable"和this.$refs.multipleTable.toggleRowSelection(需要勾选的行数据,是否勾选) <el-table :data="items" //这个items是我定义的数据,用于接收后端传来的表格数据(items里面包含多个对象数据),表格遍历显示 :row-key="getRowKey" //多选框时是必要的 @selection-change=&qu

接收请求参数及数据回显

接收请求参数及数据回显 接收一个参数 //http://localhost:8080/r/user/t1?username=julia @GetMapping("/user/t1") public String test1(@RequestParam("username") String name, Model model) { return "test"; } 接受一个对象 //http://localhost:8080/r/user/t2?i

数据回显

在添加数据的时候有时因为数据条件不符合而页面的数据要重新输入比较麻烦,所以要做数据回显功能 根据提供domain里的基本数据类写个类CustomerFormBean .java 1 package cn.itcast.Controller; 2 3 import java.util.Date; 4 import java.util.HashMap; 5 import java.util.Map; 6 7 public class CustomerFormBean { 8 private Stri

Struts2实现input数据回显

/** 修改页面 */    public String editUI() {        //准备回显得数据        Role role = roleService.getById(id);                ActionContext.getContext().getValueStack().push(role); //下面的方法也能实现数据回显 //        this.name = role.getName();//        this.description

7、struts2 案例( 模型驱动、 防止表单重复提交--拦截器 、数据回显 、值栈 、 OGNL表达式综合运用)

struts2 案例 技术点: 模型驱动 防止表单重复提交–拦截器 数据回显 值栈 OGNL表达式 通配符.路径匹配原则.常量 数据处理的集中方式 请求数据自动封装以及类型转换 1.导包 c3p0-0.9.1.2.jar commons-dbutils-1.6.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.j

组合条件查询的数据回显问题

1.    对于一般的文本框直接将输入的添加到request域中回显. // 组装名称 String queryName = request.getParameter("queryName"); // 如果是点击页号提交方式为get提交进行转码 if (getTag != null && !"".equals(getTag.trim())) { queryName = new String(queryName.getBytes("iso-8

Ztree菜单树数据回显

Ztree菜单树数据回显,分两部分查询数据: 其一: 根据实体id查询出其关联的菜单数据 其二: 查询所有的菜单数据. 然后,使用Ztree API中进行菜单数据回显的数据进行回显数据,勾选菜单复选框. 代码 1 //2.设置菜单树的全局变量 2 var setting = { 3 data : { 4 key : { 5 title : "t" 6 }, 7 simpleData : { //开启简单数据 8 enable : true, 9 } 10 }, 11 check : {

&lt;select&gt;多选时的数据回显

<select>标签有个属性为multiple,当设置multiple="true"时,在页面上可以按住ctrl键进行多选,在Action中可以给一个string类型的数组来获取前台的值,例子如下: 在action中给出set/get方法即可.然后根据数据库中的字段,添加到对象中即可. 但是在数据修改的时候,从数据库中查找到的是一个用逗号分隔的字符串,因此在回显之前需要做一些处理. s1是后台返回到前台的json对象,通过逗号将数据库查到的字符串拆分一下,然后拿到<s