Yii 2在SideNav上没有刷新点击

时间:2015-02-17 10:17:22

标签: php jquery ajax yii2

我的bizadmin.php视图中有一个SideNav:

<div class="row">
    <div class="col-xs-3" id="sidenav">
    <?php
        echo SideNav::widget([
        'type' => 'default',
        'encodeLabels' => false,

        //'heading' => $heading,
        'items' => [
            ['label' => 'Add Staff', 'icon' => 'user', 'url' => ['/user/index']],
            ['label' => 'Store Configuration', 'icon' => 'cog', 'url' => ['/store/index']],
            ['label' => 'Add Transaction', 'icon' => 'duplicate', 'url' => ['/transaction/index']],
            ['label' => 'Add Account', 'icon' => 'book', 'url' => ['/account/index']],
            ],
        ]);        
    ?>
    </div>

    <div class="col-xs-7">
        <h2 id="bizstorename">Store Name</h2>
        <h5>This is a store description. You can put anything here as long as it describes your store.</h5>
    </div>
</div>

看起来像这样:

no-refresh on sidenav click

当我点击我的SideNav上的某个项目时,它会重定向到另一个页面,而是只会在div内加载一个页面(对于例如,在我的情况下,在SideNav 旁边的<div class="col-xs-7">内),而不刷新整个页面。

我想我需要使用某种jQuery或Ajax,但我不知道如何。请让我知道你的想法。

1 个答案:

答案 0 :(得分:0)

使用jQuery的.load方法获取网页,然后附加到#result

$script = "
    $('#sidenav ul li a').on('click', function(e) {
        e.preventDefault();
        var url = $(this).attr('href');
        $('#result').load(url);
    });
";
$this->registerJs($script, $this::POS_READY);

有关详细信息,请参阅jQuery's docs