Yii2 pjax不更新容器中的div

时间:2018-09-22 16:49:49

标签: javascript yii2 pjax

我认为这样的代码:

<?php \yii\widgets\Pjax::begin(['id'=>'client-info']);?>
<div class="col-md-8">
    <div class="row">
        <div class="col-8" id="some-div">

        </div>
    </div>
    <div class="row ">
        <div class="col-8" id="other-div">

        </div>
    </div>
 </div>
<?php \yii\widgets\Pjax::end(); ?>

我正在通过js这样更新容器

 $.pjax.reload({container:'#client-info',timeout:false});

我可以阻止#some-div更新吗? 我需要pjax更新除#some-div之外的所有内容。我无法更改pjax的开始和结束位置,因为那样我就必须完全更改页面布局。

1 个答案:

答案 0 :(得分:0)

您可以有多个pjax部分。

>>> from unittest.mock import MagicMock 
>>> obj = MagicMock()
>>> obj.hello()
<MagicMock name='mock.hello()' id='4408758568'>

然后您需要重新加载两个容器。

<?php \yii\widgets\Pjax::begin(['id'=>'some-id-one']);?>
<div class="col-md-8">
    <div class="row">
<?php \yii\widgets\Pjax::end(); ?>
        <div class="col-8" id="some-div">

        </div>
<?php \yii\widgets\Pjax::begin(['id'=>'some-id-two']);?>
    </div>
    <div class="row ">
        <div class="col-8" id="other-div">

        </div>
    </div>
 </div>
<?php \yii\widgets\Pjax::end(); ?>

通过修改pjax,也许您可​​以获得更好的解决方案。