YII2 - 锚标记点击的部分更新

时间:2016-09-29 01:10:39

标签: javascript onclick yii2 partials

点击Yii2中的锚标签时,我遇到一些麻烦。

我的观看代码如下:

<div class="col-md-5 module">

    <h2><?php echo $client->subtitle ?></h2>

    <div class="text-center industries-wrapper">

        <div class="center-wrapper clearfix">
            <ul class="nav nav-pills">
                <?php foreach ($clientMarkets as $key => $clientMarket) : ?>
                    <li <?= ($key == 0) ? 'class="active"' : '' ?>>
                        <a <?= ($key == 0) ? 'href="#1a"' : 'href="#2a"' ?> data-toggle="tab">
                            <?php echo $clientMarket->title ?>
                        </a>
                    </li>
                <?php endforeach; ?>
            </ul>
        </div>

        <div class="tab-content center-wrapper clearfix">
            <?php foreach ($clientMarkets as $key => $clientMarket) : ?>
                <div id="1a" <?= ($key == 0) ? 'id="1a"' : 'id="2a"' ?>
                     class="tab-pane<?= ($key == 0) ? ' active' : '' ?>">

                    <div class="contact-info">
                        <ul>
                            <?php foreach ($clientMarket->children as $key => $client) : ?>
                                <li><a><?php echo $client->title ?></a></li>
                            <?php endforeach; ?>
                        </ul>
                    </div>
                </div>
            <?php endforeach; ?>
        </div>

    </div>

    <hr>

    <div class="client-description hidden-xs"><?php echo $clientDescription->short ?></div>
</div>

<div class="col-md-7 module">
    <div id="client-section-carousel" class="carousel slide" data-ride="carousel">
        <div class="carousel-inner" role="listbox">
            <?php echo $this->render('_partials/references', ['name' => 'value']) ?>
        </div>
    </div>
</div>

点击div carousel-inner中的锚标记时,我希望使用类contact-info更新div中的局部视图。

我已经查找了一些使用ajax的示例,但无法找到如何更新部分点击。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您不想使用自己的逻辑编写简单的JS / AJAX代码,可以尝试使用Pjax

这样的事情:

<a href="#" onclick="$.pjax.reload('#pjaxId', {timeout : false});">Update Pjax container via AJAX</a>

...

<div class="carousel-inner" role="listbox">

    <?php
    Pjax::begin(['id' => 'pjaxId']);

    echo $this->render('_partials/references', ['name' => 'value']);

    Pjax::end();
    ?>

</div>

<强> UPD:

如果您想更改AJAX更新的URL,请使用:

<?php $ajaxUrl = \yii\helpers\Url::to(['some-controller/some-action']); ?>

<a href="#" onclick="$.pjax.reload('#pjaxId', {timeout : false, url: '<?= $ajaxUrl ?>'});">
     Update Pjax container via AJAX
</a>