我正在尝试使用SideNav URL在同一窗口中打开页面而不是重定向到不同的地方。我怎样才能做到这一点 ?当有人点击sidenav页面中的链接时,应该在同一个窗口中打开。
<?= SideNav::widget([
'type' => SideNav::TYPE_DEFAULT,
'heading' => 'Dashboard',
'items' => [
[
'url' => '#',
'label' => 'Purchase',
'icon' => 'home',
'items' => [
['label' => 'Suppliers', 'icon'=>'glyphicon transport', 'url'=>'../site/about'],
['label' => 'Leaf Entry', 'icon'=>'leaf', 'url'=>'#'],
['label' => 'Payments', 'icon'=>'phone', 'url'=>'#'],
['label' => 'Reports', 'icon'=>'phone', 'url'=>'#']
],
],
上面的代码关于页面打开作为一个不同的窗口。我需要在同一个窗口打开。我该怎么做这个朋友?
答案 0 :(得分:3)
在您的链接项中添加一个类,例如ajaxLoad
,然后添加以下js代码:
$(document).on('click', '.ajaxLoad', function(e){
e.preventDefault();
$('#main-content').load($(this).attr('href'));
return false;
});
假设您希望您的网页内容在ID为主要内容的容器div中呈现
这个想法是,js脚本将监听点击事件,当有人点击具有 ajaxLoad 类的链接时,它将获取它的href
值并加载该页面内容在main-content
div。
注意在您的控制器操作中,您必须使用 renderAjax
而不是render
。