a138075 2018-03-28 19:29:56 3112次浏览 0条回复 1 0 0

求教一个搞了一天都没搞定的问题:

<?php
	Pjax::begin(['id' => 'PJax-new-review']);
	$form = ActiveForm::begin([
		'id' => 'review-form',
		'options' => ['data-pjax' => '#PJax-new-review'],
	]);
?>

....
....

<?php 
	ActiveForm::end();
	Pjax::end(); 
?>

Listview显示数据

<?php 
Pjax::begin(['id' => 'PJax-review-listView']);
echo ListView::widget([
    'dataProvider' => $dataProvider,
    'id' => 'review-listView',
    'layout' => $layout,
    'itemOptions' => $itemOptions,
    'itemView' => '_reviews-list-item',
    'pager' => [
        'options' => ['class' => 'navSplitPagesLinks forward'],
        'nextPageLabel' => '<i class="fa fa-angle-right"></i>',
        'prevPageLabel' => '<i class="fa fa-angle-left"></i>',
        'firstPageLabel' => '<i class="fa fa-angle-double-left"></i>',
        'lastPageLabel' => '<i class="fa fa-angle-double-right"></i>',
    ],
]);
Pjax::end();
?>

提交表单更新没有问题,保存也成功, 但是Listview 不刷新.

如果在载入后加入:

$this->registerJs(
    '$("document").ready(function(){ 
        $("#PJax-new-review").on("pjax:end", function() {
            $.pjax.reload({container:"#PJax-review-listView"});
        });
    });'
);

会导致整个页面都刷新, 是什么原因? 如何才能让表单提交后只刷新 Listview 部分?

    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册