• bootstrap实现分页


    算法改进:【主要使用js配合mysql的limit实现上一页,下一页】

    【在查询数据的时候,使用了limit,现在,我固定每页显示3条记录,进行分页】

    首先ajax向servlet发起请求,然后请求的数json数据。现在,开始设计ajax,html。

    一、由于每次翻页,之前的数据都要被覆盖/清空。所以使用div来包裹里面将被清空的内容。

    为什么要保留div内,因为我们还要向里面添加数据,保留他,类似于参照物。

    <div id="co">

            <h1 class="h"></h1>  <!-- 这里的标签都加上class="h",后面都要动态清空-->

    </div>

    现在,存放数据的地方有可基本设计框架,那么现在,是不是应该有一样东西来对数据进行操作呢,如:上一页,下一页。

    二、使用a标签,实现上一页,下一页功能。

    这里,我使用nextpage方法实现下一页,上一页使用prevpage。先有这样一个思路

    <a href="javascript:prevpage(0)">上一页</a><a href="javascript:nextpage(0)">下一页</a>

    既然如此,那么现在是实现数据加载的ajax了

    三、ajax实现初始加载、上一页、下一页。

    key表示第多少条记录数,即记录的起始数据,我们首先思考,当其他页面的操作改变时,上一页的参数和下一页的参数应该都会改变,随key而改变。

    大概如下:

    //1、默认加载第一页
    
    clickA(0);
    
    //2、加载数据的函数
    
    function clickA(key){
    
    $(".h").empty();
    $.ajax({
    type : "post",
    async : true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
    url : "Page", //请求发送到Page处
    data : {'key':key},
    dataType : "json", //返回数据形式为json
    success : function(result) {
    //请求成功时执行该函数内容,result即为服务器返回的json对象
    for(var k in result){
    //将获得的数据加入col-md-12 column
    $("#con").before("<h2 class='h'>"+result[k].title+"</2><p class='h'>"+result[k].name+"</p><p class='h'><a class='btn' href='javascript:clickA(0);'>View details »</a>"+"</p>");
    //改变a标签prev的属性,下面这两句是重点
    $("#prev").attr("href","javascript:prevpage("+key+")");
    
    $("#next").attr("href","javascript:nextpage("+key+")");
    
    } 
    },
    error : function(XMLHttpRequest, textStatus,errorMsg) {
    //请求失败时执行该函数
    alert("错误码:"+XMLHttpRequest.status);
    alert("错误状态:"+XMLHttpRequest.readyState);
    alert("数据请求数据失败!"+errorMsg);
    }
    });
    
    }
    
    //3、实现上一页功能:
    
    function prevpage(prev){
    
    if(prev==0){clickA(0);}else{
    prev = prev-3;
    clickA(prev);
    }
    
    //4、实现下一页功能
    
    var numa=0;
    
    function nextpage(numa){
    //获取当前的key 
    //将key+3,然后交给clickA
    //获取后台带到的key,在key的基础上增加
    numa=numa+3;
    clickA(numa);
    }
    
    }

    主要记录思想实现,代码有待优化,但思路已经很清晰,那么,以上是在确认每页显示3条数据,那么,要实现每页显示n条数据,该如何实现呢。想必不用多少了。

    那么随后,请自己思考,如何将这里提出的问题实现,同时打包成一个属于自己的东西呢?这个步骤就不写了。

    那么后台servlet如何控制,防止出现异常呢?那就是值的问题,凡是出现null或者"",或者<0等都将其值为0,这样就可以解决了。

    下一篇,是完整的例子。

  • 相关阅读:
    封装简单的mvc框架
    php中date函数获取当前时间的时区误差解决办法
    PHP中date函数参数详解
    PHP中字符串补齐为定长
    php将xml文件转化为数组:simplexml_load_string
    PHP基于变量的引用实现的树状结构
    EcShop后台添加菜单[步骤]
    Cmd批处理语法实例
    Mysql语句的批量操作[修改]
    HTML前端技术(JS的使用,包括数组和字符串)
  • 原文地址:https://www.cnblogs.com/ciscolee/p/11239008.html
Copyright © 2020-2023  润新知