Drupal でティーザーを表示しています。各ティーザーには、ノード ID を引数として送信して ajax 経由でビューをロードする click() ハンドラーがあります。2 つの異なる jquery アプローチを試しましたが、うまくいきません。
最初の例では、ビューの最後のノードのみの nid を送信します。そのため、どのティーザーをクリックしても、最後のティーザーの nid のみが送信されます。
Drupal.behaviors.ajaxview = function(context) {
$(".ajaxclick").click(function(){
$(".container").load(Drupal.settings.basePath + "myajax/" + <?php echo $node->nid;?>;);
});
}
2 番目のアプローチでは、クラス "ajaxview" のボタンをクリックすると正しい nid が送信されますが、1 回クリックされたボタンを対応する div に送信する代わりに、"ajaxview" のクラスを持つ各ボタンの nid が送信されます。 "コンテナ"のクラスを持つ各divに"。そのため、すべてのティーザーから生成されたすべてのビューのコンテンツをすべての div にまとめます。うわあああ!
$(document).ready(function() {
$(".ajaxclick").click(function(){
$(".container").load(Drupal.settings.basePath + "myajax/" + <?php echo $node->nid; ?>);
});
});
これがボタンです。
<button class="ajaxclick">click</button>
そしてdiv:
<div class="container"></div>
各クリックを取得して、クリックしたティーザーの nid を引数として送信し、そのビューのみをロードする方法はありますか?