我认为这样的代码:
<?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的开始和结束位置,因为那样我就必须完全更改页面布局。
答案 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,也许您可以获得更好的解决方案。