引用錯誤的節點ID我有一個點擊每個節點的列表。點擊發送一個節點引用參數,它使用ajax加載一個新的視圖。 jquery通過content-type-tpl.php上的隱藏輸入值收集節點引用號。同樣,新視圖中的節點每個都有一個點擊,它發送一個節點引用參數,該參數使用ajax加載一個新視圖。但是,儘管原始視圖中的點擊正常工作,但新調用視圖中的點擊並未引用正確的節點。而不是引用針對其點擊的節點的節點ID的,在視圖中的下一個節點的節點ID被代替收集。奇怪的是在內容型tpl.php放置<?php echo $node->nid;?>
時,正確的節點ID迴盪在頁面上。但遺憾的是,這不是發送給觀點論點的人。因此,單擊新加載的ajaxed視圖中的任何節點,都會發送下一個節點的標識。這裏的javacript:阿賈克斯加載的內容在Drupal
Drupal.behaviors.ajaxlinks = function (context) {
$('.morelink:not(.togg-processed)', context).addClass('togg-processed').each(function() {
var myindex = $('.morelink').index($(this));
var target = $('.newthing').eq(myindex)
var nid = $(".mynid").eq(myindex).val();
$(this).click(function() {
if (($('.hiddenrows').eq(myindex).is(":hidden")))
{ $('.hiddenrows').eq(myindex).show();
$('.newthing').eq(myindex).show();
var toLoad = Drupal.settings.basePath + 'replies/' + nid;
xhr = $.ajax({
url: toLoad,
success: function(data) {
$(target).html($(data));
Drupal.attachBehaviors(context);
}
});
}
else
{
$('.hiddenrows').eq(myindex).hide();
$('.newthing').eq(myindex).hide();
}
return false;
這是相同的代碼,所以我不明白爲什麼它在新加載的視圖中工作不同。任何人都可以發現我做錯了什麼嗎?我懷疑它的位置或者我如何聲明我的變量都是有用的。或者,這可能與濫用索引,eq或這個有關?