【问题标题】:Why does jQuery doesn't get applied to the results of Laravel pagination from page 2 onwards为什么 jQuery 从第 2 页开始没有应用于 Laravel 分页的结果
【发布时间】:2016-11-04 12:30:09
【问题描述】:

我创建了一个 js 文件来配合我的帖子的喜欢和不喜欢功能。另外,我使用 Laravel 的 paginate 方法在一个页面中创建了 10 个帖子。

但是,我不知道为什么 javascript 似乎不适用于第 2 页以后的帖子。

更新

这是我的 js 文件:

$('.option1').on('click', function (event) {
        var flagL=0;
        var flagD=0;
        event.preventDefault();

        var postIdl = $(this).data("idl");
        postIdl= postIdl.substr(1);
        var postId2 = 'dc'+postIdl;
        var postId1 = 'lc'+postIdl;

        if($('.'+postId2).hasClass('active')){
            flagD=1;}
        if($('.'+postId1).hasClass('active')){
            flagL=1;}
        $.ajax({
            method: 'POST',
            url: urlLike,
            data: {postIdl: postIdl, _token: token, flagL: flagL, flagD: flagD}
        });

        $('.'+postId2).removeClass('active');

    });

    $('.optionx').on('click', function (event) {
        var flagL=0;
        var flagD=0;
        event.preventDefault();

        var postIdd = $(this).data("idd");
        postIdd= postIdd.substr(1);
        var postId1='lc'+postIdd;
        var postId2='dc'+postIdd;

        if($('.'+postId2).hasClass('active')){
            flagD=1;}
        if($('.'+postId1).hasClass('active')){
            flagL=1;}

        $.ajax({
            method: 'POST',
            url: urlDislike,
            data: {postIdd: postIdd, _token: token, flagL: flagL, flagD: flagD}
        });

        $('.'+postId1).removeClass('active');

    });

这是我使用分页的控制器:

public function home()
    {
        $posts=Depress::orderBy('id','DESC')->paginate(10);
        return view('home')->with('posts',$posts);
    }

更新 2

我发现了真正的问题,但不知道如何解决。我已经在以下链接中描述了,请看一下:Laravel 5 Paginate + Infinite Scroll jQuery

任何帮助将不胜感激。

【问题讨论】:

  • 我们可以看看一些代码吗?
  • @linuxartisan 我已经更新了我的问题。感谢您的评论
  • 浏览器的developer tools 告诉您什么? javascript 有没有错误。按F12 获取开发者工具。
  • @linuxartisan 在我添加分页之前,JavaScript 运行良好。所以,JavaScript 完全可以正常工作,它与分页有某种冲突。
  • 正是我的观点。当您在第 2 页时,请查看developer tools。可能是 javascript 没有被加载。

标签: javascript jquery laravel laravel-5 pagination


【解决方案1】:

我正在使用 jQuery DataTable 制作表格和分页,虽然它不一样,但我遇到了一个非常相似的问题。我试图使用 popover,它只在第一页上工作。

我做了类似的事情:

        var today = $('#all').dataTable({
        order: [[ 7, "desc" ]],
        autoWidth: false,
        dom: '<"datatable-header"fl><"datatable-scroll"t><"datatable-footer"ip>',
        language: {
            search: '<span>Filter:</span> _INPUT_',
            lengthMenu: '<span>Show:</span> _MENU_',
            paginate: { 'first': 'First', 'last': 'Last', 'next': '→', 'previous': '←' }
        },
        "aLengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]],
        "iDisplayLength": 100
    });

还有他们:

    today.$('[data-popup="popover"]').popover().click(function(e) {e.preventDefault();});

关于这个答案的两点:

1) 也许应该是评论,但我还没有评论的声誉。

2) 我知道这不是您想要的,但它是一个开始。

你应该给我们看一些代码,它会更容易帮助你。

【讨论】:

  • 我已经更新了代码,请看一下,在我添加分页之前,JavaScript 代码运行良好。
  • 您能在我们可以看到 option1 和 optionx 类以及数据 idl 和 idd 的地方插入 html 代码吗?
  • 我找到了真正的问题,但不知道如何解决。我已经在下面的链接中描述了,请看一下:stackoverflow.com/questions/33225256/…
猜你喜欢
  • 2013-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多