web-dev-qa-db-ja.com

コンテンツとページネーションの問題のAJAX化

私は<div>を使用して<a class="ajax-link" href="node/add/page" rel="#content">Add page</a>タグ内のノードをロードできる AjaxリンクAPI モジュールを使用しています。

しかし、問題があります。ページャーを使用していて、リンクをクリックして別のページを表示すると、<div>タグ内に読み込まれるのではなく、そのページにリダイレクトされます。

Views Infinite Scroll モジュールを使用して部分的に解決しましたが、<div>タグが複数ある場合、モジュールは正しいビューを正しい<div>にロードしません。

コンテナに対応するためにURLが書き換えられておらず、この制限によりスクロールもできないため、ページネーションを使用できないようです。

単純なAJAX呼び出しが同じページの異なる<div>タグにコンテンツをロードして、ページ付けを使用して呼び出す(またはより多くのボタンをロードする、無限スクロールなど))方法はありますか?

2
Cesar

ビューページャーajaxを有効にして、以下のソリューションを試してください。

jQuery 1.7以降のバージョン

function runthiscode() {
  $(".pager a").each(function(){
    $(".pager a").addClass("ajax-link");
    $(".pager a").attr('rel', '#content')
  });
}

$(document ).ready(function() {
  runthiscode();
});

$(document ).ajaxComplete(function() {
  runthiscode();
});
2
Rishi

あなたの問題は Ajaxページャーがネストされたビューで期待どおりに機能しない に似ているようです。以前にこの問題がありました patch#15 解決に役立ちます。

調べてみて、うまくいかない場合は、別の解決策を提案してください。

1
Yusef

以下のjqueryソリューションでこれを試してください。

jQuery 1.7以降のバージョン

function runthiscode() {
  $(".pager a").each(function(){
    var a_href = $(this).find('a').attr('href');
    $('.pager a').on('click', function(event){
      $("#content").load(a_href+" #content");
    });
  });
}

$(document ).ready(function() {
  runthiscode();
});

$(document ).ajaxComplete(function() {
  runthiscode();
});
0
Rishi