首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >twbsPagination不是一个函数

twbsPagination不是一个函数
EN

Stack Overflow用户
提问于 2021-01-04 13:57:43
回答 1查看 1.6K关注 0票数 1

分页页码看起来奇怪而冗长。我只想在前面显示一些页码。我的代码--工作正常,但当有大量的页面时,就不好了。所以我在函数twbsPagination中使用了renderPagination。当我运行我的代码时,我得到了错误Uncaught TypeError: $(...).twbsPagination is not a function。twbsPagination源是脚本:src pagination.js。但是,当我在没有任何函数的情况下单独运行twbsPagination时,它就正常工作了。如何使用我的代码运行twbsPagination?

index.html

代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" integrity="sha512-+4zCK9k+qNFUR5X+cKL9EIR+ZOhtIloNl9GIKS57V1MyNsYpYcUrUeQc9vNfzsWfV28IaLL3i96P9sdNyeRssA==" crossorigin="anonymous" />

<script src="homer/vendor/jquery/dist/jquery.min.js"></script>
<script src="desk/vendor/pagination/pagination.min.js"></script>
<script src="desk/components/approved2.js"></script>

<table class="table">
  <thead>
    <tr>
      <th scope="col">#</th>
      <th scope="col">Name</th>
    </tr>
  </thead>
  <tbody id="approvedList">

  </tbody>
</table>

<nav aria-label="Page navigation example">
  <ul class="pagination"></ul>
</nav>

index.js

代码语言:javascript
运行
复制
const localURL = "http://localhost:8000/"
// output Html
const Story = document.querySelector('#approvedList');
const pagination = document.querySelector('.pagination');

$(function () {
    var page = 1,
        records = 1,
        totalRecords = 0,
        search = '';

    // Run on page load
    fetchData();
    setInterval(fetchData, 2000);


    // data filtering
    $("#search-input").keyup(function (e) {
        let value = e.target.value
        fetchData(search = value);
    });

    // Show Records limits
    $("#records").click(function (e) {
        let value = e.target.value
        fetchData(records = value);
    });

    // Previous Page
    $('[aria-label="Previous"]').click(function () {
        if (page > 1) {
            page--;
        }
        fetchData();
    });

    // Next page 
    $('[aria-label="Next"]').click(function () {
        if (page * records < totalRecords) {
            page++;
        }
        fetchData();
    });
    // data fetching from API
    function fetchData() {

        $.ajax({
            url: "http://localhost:8000/api/approved/",
            type: "GET",
            data: {
                page: page,
                records: records,
                search: search
            },
            success: function (res) {
                totalRecords = res.count
                Story.innerHTML = '';
                res.results.map((object) => {
                 
                    Story.innerHTML +=
                        `<tr>
                            <td> ` + object.id + `</td>           
                            <td>${object.id}` + object.title + `</td>          
                        </tr>`;
                })
                Pagination();
            }

        })
    }

    function Pagination() {
        // let pagesNumbers = Math.ceil(totalRecords / records);
        let pagesNumbers = Math.ceil(totalRecords / records);
        $('#pagination').twbsPagination({
            totalPages: pagesNumbers,
            visiblePages: 5,
            onPageClick: function (event, page) {
                $('#page-content').text('Page ' + page);
            }
        });
    }
})
EN

回答 1

Stack Overflow用户

发布于 2021-01-04 15:11:51

您不能添加两倍的jQuery库。

我不知道pagination.min.js批准了2.js库,但我知道您可以按如下方式添加twbsPagination

代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/twbs-pagination/1.4.2/jquery.twbsPagination.min.js"></script>

此外,这句话是错误的:

代码语言:javascript
运行
复制
let pagesNumbers = Math.ceil(totalRecords / records);

pagesNumbers至少需要1岁。

包含代码的代码片段:

代码语言:javascript
运行
复制
const fakeData = {
    data: [{
        row: 1,
        name: 'a'
    }, {
        row: 2,
        name: 'b'
    }, {
        row: 3,
        name: 'c'
    }, {
        row: 4,
        name: 'd'
    }, {
        row: 5,
        name: 'e'
    }, {
        row: 6,
        name: 'f'
    }, {
        row: 7,
        name: 'g'
    }],
    totalRecords: 7
};
// output Html
const Story = document.querySelector('#approvedList');
const pagination = document.querySelector('.pagination');

$(function () {

    var page = 1,
            records = 1,
            totalRecords = 0,
            search = '';

    // Run on page load
    fetchData();

    // data fetching from API
    function fetchData() {
        totalCount = fakeData.totalCount;

        Story.innerHTML = '';

        fakeData.data.slice((page - 1) * records, page * records).map((object) => {
            Story.innerHTML +=
            `<tr >
        <td>${object.row}</td>
        <td>${object.name}</td>
        </tr >
            `;
    })
    renderPagination();
}

function renderPagination() {
    let pagesNumbers = Math.ceil(totalRecords / records) || 1;
    $('.pagination').twbsPagination({
        totalPages: pagesNumbers,
        visiblePages: 5,
        onPageClick: function (event, page) {
            $('#page-content').text('Page ' + page);
        }
    });
}

})
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twbs-pagination/1.4.2/jquery.twbsPagination.min.js"></script>


<table class="table">
    <thead>
    <tr>
        <th scope="col">#</th>
        <th scope="col">Name</th>
    </tr>
    </thead>
    <tbody id="approvedList">

    </tbody>
</table>

<nav aria-label="Page navigation example">
    <ul class="pagination"></ul>
</nav>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65563897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档