Yii2 如何通过单击按钮重新加载内部有小部件的div?

Yii2 如何通过单击按钮重新加载内部有小部件的div?,yii2,pjax,Yii2,Pjax,我的控制器 public function actionIndex() { return $this->render('index'); } 在视图中,我调用了一系列小部件。小部件中的所有逻辑都没有任何输入参数。在每个小部件的每个块中,我想添加一个按钮来更新该块中的小部件 <?= Html::a("Обновить", ['???'], ['class' => 'btn btn-sm btn-default', 'data-pjax' => '#form

我的控制器

public function actionIndex()
{
        return $this->render('index');
}
在视图中,我调用了一系列小部件。小部件中的所有逻辑都没有任何输入参数。在每个小部件的每个块中,我想添加一个按钮来更新该块中的小部件

<?= Html::a("Обновить", ['???'], ['class' => 'btn btn-sm btn-default', 'data-pjax' => '#formsection']) ?>

我将小部件放在pjax中

<?php Pjax::begin(['id' => 'formsection', 'linkSelector' => '#chart a']); ?>
                <div class="chart" id="chart" style="height: 200px; position: relative;">
                    <?= Chart::widget(); ?>
                </div>
                <?php Pjax::end(); ?>


如何将特定块分配给按钮?

据我所知,图表是通过数据库中经常更新的一些值绘制的,您希望在单击“重新加载”按钮时,这些更改会反映在图表中

如果上述内容正确,那么您应该使用
$.pjax.reload
简单地重新加载部分,将单击事件绑定到按钮

$this->registerJs('
    jQuery(document).on("click", "#my-button",  function(event){
            $.pjax.reload({container:"#formsection",timeout:1000})
          }
        );
');
希望有帮助