Drupal视图,Jquery位于node-tpl.php的头部,仅使用第一个$node->;nid变量
我有一个Drupal视图,它是一个节点列表。head部分中有一个包含Jquery javascript的node-type.tpl.php。单击任何节点中的链接都应加载一个新的ajaxed视图,该视图引用已单击的节点。我使用ajax通过hook_菜单路径加载新视图,原始节点作为节点引用参数。不幸的是,此单击当前仅加载引用列表中第一个节点的视图,而不是被单击的节点。无论单击哪个节点,我只会得到一个引用列表中第一个节点的视图。我无法理解为什么javascript没有为参数发送正确的节点id。下面是node-type.tpl.php的head部分中的代码Drupal视图,Jquery位于node-tpl.php的头部,仅使用第一个$node->;nid变量,jquery,drupal,views,Jquery,Drupal,Views,我有一个Drupal视图,它是一个节点列表。head部分中有一个包含Jquery javascript的node-type.tpl.php。单击任何节点中的链接都应加载一个新的ajaxed视图,该视图引用已单击的节点。我使用ajax通过hook_菜单路径加载新视图,原始节点作为节点引用参数。不幸的是,此单击当前仅加载引用列表中第一个节点的视图,而不是被单击的节点。无论单击哪个节点,我只会得到一个引用列表中第一个节点的视图。我无法理解为什么javascript没有为参数发送正确的节点id。下面是n
<script>
Drupal.behaviors.myajax = function(context) {
$(".ajaxclick").click(function(){
<?php $mynid = $node->nid;?>
var mynodeid = <?php echo $mynid ?>;
$(".holder").load(Drupal.settings.basePath + "myajax/" + mynodeid);
});
}
</script>
Drupal.behaviors.myajax=函数(上下文){
$(“.ajaxclick”)。单击(函数(){
var mynodeid=;
$(“.holder”).load(Drupal.settings.basePath+“myajax/”+mynodeid);
});
}
在身体里
<a class="ajaxclick" href= "#">Click me</a>
<div class="holder"></div>
下面是模块中的hook_菜单代码:
<?php
function ajaxview_menu() {
$items = array();
$items['myajax'] = array(
'title' => 'My Ajax',
'page callback' => 'ajaxview_myajax',
'description' => 'Ajax View',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function ajaxview_myajax($nid) {
$node = node_load($nid);
print '<div class="rightcolumn">';
print $viewName = 'Comments';
$display_id = 'default';
$myArgs = $nid;
print views_embed_view($viewName, $display_id, $myArgs);
print '</div>';
exit();
}
我遇到了同样的问题,最后得到了@William Tate的帮助
解决方案:
$('.up2').click(function() {
$(this).closest('.up2').find('.nummer_dark').text();
}
我的问题: