如何将php链接分配给jquery?

时间:2013-09-08 10:00:59

标签: jquery joomla

要实现此问题的目标How to apply a url path in after pseudo element?,我想为菜单项ID指定一个链接。

在php代码中我写了这个:

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getItem(474);
?>

和jquery代码如下所示:

var $link = $('<a>',{
    class: 'all-news-link',
    href: <?php $item; ?> // **here how to assign the link which is assigned in php?**
});

$('#custom-module .moduletable:nth-child(2) h3').append($link);

更新

根据提供的链接我使用json_encode但也没有解决我的问题。它现在甚至没有警觉。

<?php
$app = JFactory::getApplication();
$menu = $app->getMenu();
$link1 = $menu->getItem(474);
?>

<script>
$(document).ready(function(){  
var $link = $('<a>',{
    class: 'all-news-link',
    href: <?php echo json_encode( $link1 ); ?>
});
$('#custom-module .moduletable:nth-child(2) h3').append($link);
alert("hi"); // it is not alerting
});

</script>
  

当href:'http://www.google.com/'使用它的警告“hi”但是当我使用php json_encode()时它甚至没有警告意味着jquery无效

1 个答案:

答案 0 :(得分:0)

链接应该是一个字符串。

$item = $menu->getItem(474);

返回stdClass

你应该得到路线:

$id = 474;
$link = JRoute::_($menu->getItem($id)->link);

试试这个:

$(function(){  
    var $link = $('<a>',{
        class: 'all-news-link',
        href: <?php echo json_encode( $link ); ?>
    });
    $('#custom-module .moduletable:nth-child(2) h3').append($link);
});

这会将href设置为有效的Javascript字符串。