为什么我用ajax和boorstrap一起做分页,结果分页样式显示错误啊?

解决方案 »

  1.   

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <%
    pageContext.setAttribute("Path", request.getContextPath());
     %>
      <head>
       <script src="${Path }/static/js/jquery.min.js" type="text/javascript"></script>
        <link href="${Path }/static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet">
        <script src="${Path }/static/bootstrap-3.3.7-dist/js/bootstrap.min.js" ></script>
    <script type="text/javascript">
         //1.页面加载完成,发送ajax请求,要到数据
         $(function(){
         //去首页
         to_page(1);
         });
         function to_page(pn){
         $.ajax({
         url:"${Path}/UserController/getUser",
         data:"pn="+pn,
         type:"GET",
         success:function(result){
         //console.log(result);
         //1、解析并显示员工数据
         build_user_table(result);
    //2、解析并显示分页信息
    build_page_info(result);
    //3、解析并显示分页条信息
    build_page_nav(result);
         }
        
         });
         }
         function build_user_table(result){
         var user=result.extend.pageInfo.list;
         $.each(user,function(index,item){
         var userIdTd=$("<td></td>").append(item.u_id);
         var userNameTd=$("<td></td>").append(item.u_name);
         var userGenderTd=$("<td></td>").append(item.u_gender);
         var userAgeTd=$("<td></td>").append(item.u_age);
         var userEmailTd=$("<td></td>").append(item.u_email);
         var userPasswordTd=$("<td></td>").append(item.u_password);
         var userQuestionTd=$("<td></td>").append(item.u_question);
         var userAnswerTd=$("<td></td>").append(item.u_answer);
         var userPointsTd=$("<td></td>").append(item.u_points);
         var userRoleTd=$("<td></td>").append(item.u_role);
         var editBtn=$("<button></button>").addClass("btn btn-primary btn-sm")
         .append($("<span></span>").addClass("glyphicon glyphicon-pencil"))
         .append("编辑");
        
         var delBtn=$("<button></button>").addClass("btn btn-danger btn-sm")
         .append($("<span></span>").addClass("glyphicon glyphicon-remove"))
         .append("删除");
         var btnTd=$("<td></td>").append(editBtn).append(" ").append(delBtn);
         //append()执行后还是返回原来的元素,又回到tr
         $("<tr></tr>").append(userIdTd)
         .append(userNameTd)
         .append(userGenderTd)
         .append(userAgeTd)
         .append(userEmailTd)
         .append(userPasswordTd)
         .append(userQuestionTd)
         .append(userAnswerTd)
         .append(userPointsTd)
         .append(userRoleTd)
         .append(btnTd)
         .appendTo("#user_table tbody");
        
         });
         }
         //解析显示分页信息
         function build_page_info(result){
         $("#page_info").append("当前第"+result.extend.pageInfo.pageNum+"页,总"+result.extend.pageInfo.pages+"页,总共"+result.extend.pageInfo.total+"条记录");
         }
         //解析显示分页条
         function build_page_nav(result){
         var ul=$("<ul></ul>").addClass("pagination");
         var firstpageLi='<li><a href="#">首页</a></li>';
         var prepageLi='<li><a href="#">&laquo;</a></li>';
         //判断前一页是否存在,如果不存在,不可以点击
         if(result.extend.pageInfo.hasPreviousPage==false){
         var firstpageLi='<li class="disabled"><a href="#">首页</a></li>';
         var prepageLi='<li class="disabled"><a href="#">&laquo;</a></li>';
         }
         var nextpageLi='<li><a href="#">&raquo;</a></li>';
         var lastpageLi='<li><a href="#">末页</a></li>';
         //判断后一页是否存在,如果不存在,不可以点击
         if(result.extend.pageInfo.hasNextPage==false){
         var nextpageLi='<li class="disabled"><a href="#">&raquo;</a></li>';
         var lastpageLi='<li class="disabled"><a href="#">末页</a></li>';
         }
         //添加首页,前一页的提示
         ul.append(firstpageLi).append(prepageLi);
        
         //1,2,3....的页码号,item为当前元素,添加页码提示
         $.each(result.extend.pageInfo.navigatepageNums,function(index,item){
        
         var numLi='<li id="numLi"><a href="#">'+item+'</a></li>';
         if(result.extend.pageInfo.pageNum == item){
         numLi='<li class="active" id="numLi"><a>'+item+'</a></li>'
         }
         $('body').on('click' , 'numLi' , function() {
         to_page(item);
         });
         ul.append(numLi);
         });
         //添加下一页,末页提示
         ul.append(nextpageLi).append(lastpageLi);
         var nav=$("<nav></nav>").append(ul);
         nav.appendTo("#page_nav");
        
         }
    新问题帮我看一下为什么$('body').on('click' , 'numLi' , function() {
         to_page(item);
         });
    点击事件没反应!!!
      

  2.   

    $('body').on('click' , 'numLi' , function() 
    这里的'numLi'是应该选择器,你现在给的不对,而且页面中的id不能重复,不然只有最后一个生效,要这样注册事件,需要添加一个class之类的属性,可以加class='numLi', 然后代码'numLi'修改为'.numLi'
    $('body').on('click' , '.numLi' , function() 
    而且只需要全局注册一次,不需要在循环体内重复注册另:在循环体内单个给动态生成的元素注册事件,不能使用$(变量),必须通过具体元素(如id)查找到dom,再注册事件,不然注册不了