ajax调用后选项卡不起作用

时间:2016-11-23 11:32:12

标签: javascript jquery ajax

我在选项卡中有一个页面工作正常,但它有一个分页,我创建了一个ajax来加载其他选项卡。但是在我单击按钮后,选项卡不起作用

这是我创建标签的功能。

    var tabContainers = $('.messages');
    var navTab = $('div.list ul.nav li');

    function loadPage() {

        $(document).on('click', navTab, function(){
          var the_hash = $(this).children().attr('href');
          tabContainers.hide().filter(the_hash).show();

          $('div.list ul.nav li').removeClass('active');
          $(this).addClass('active');

          return false;
      }).filter(':first').click();

    };

这是我的ajax电话

  //button
  var moreConversations = $('.btn-more-conversations');

  // more conversations
  moreConversations.click(function(){
    var currentPage = $(this).attr('current-page'),
        totalPages = parseInt($(this).attr('total-pages')),
        nextPage = parseInt(currentPage) + 1;


          $.ajax({
            type: "GET",
            url: "/inbox/" + nextPage
          }).done( function(data){
            if (nextPage == totalPages) {
              moreConversations.remove();
            }else{
              moreConversations.attr('current-page', nextPage);
            }
            insertConversations(data);
          }).fail( function(){
            sweetAlert("Oops...", "Erro ao aplicar a paginação", "error");
          });

        });

  function insertConversations(page) {
    var content_nav = $(page).find('div.menu-conversations').html();
    var content_conv = $(page).find('div.content-conversations').html();
    $('div.menu-conversations').append(content_nav);
    $('div.content-conversations').append(content_conv);

 }

我忘记了什么?感谢!!!

2 个答案:

答案 0 :(得分:1)

使用@import "../valo/valo.scss"; @mixin test { @include valo; .mid-blue { background: #71C6E5; } .black { background: black; } .light-blue { background-color: #A2DCF2; } .white { background-color: white; } .green { background: green; } } 方法代替.on()。由于您在运行时附加了.click(),因此不会将li事件附加到将来.click()。因此,在这种情况下,您可以使用li方法。

.on()

答案 1 :(得分:0)

前几天我遇到了同样的问题。该解决方案与AJAX调用在失败/成功后不加载Javascript的事实有关。在done函数中添加以下代码:

$.getScript('js/thenameofyourfile.js');

更多信息:

https://api.jquery.com/jquery.getscript/