我有这个问题。我正在使用yii2。我正在使用数据表来显示我的内容。一切顺利。但是当我使用Pjax重新加载表时。有些div会丢失。这是截图:
这是在提交pjax之前。
提交后这一个。
谁有人知道如何重新加载通过pjax重新加载div?谢谢。
这是提交时_form中的代码:
$script = <<< JS
$('form#{$model->formName()}').on('beforeSubmit', function(e)
{
var \$form = $(this);
$.post(
\$form.attr('action'),
\$form.serialize(),
)
.done(function(result){
if (result == 1)
{
$(\$form).trigger('reset');
$.pjax.reload({
container: '#w0',
timeout: false
});
} else {
$('#message').html(result);
}
}).fail(function()
{
console.log('server error');
});
return false;
});
JS;
$this->registerJs($script);
当您使用Pjax
将DataTable
用于Pjax
的搜索过滤器并重新加载Events时,将从主容器中删除DataTable插件的初始化。
您应该使用Pjax插件提供的pjax:complete
,并根据您当前的情况,您可以使用
DataTable
:无论结果如何,总是在ajax之后开火。
因此,您可以绑定事件以在容器上重新加载$js=<<< JS
$(document).on('pjax:complete', function() {
$('#myTable').DataTable();
});
JS;
$this->registerScript($js,\yii\web\View::POS_READY);
脚本,如下所示。
qazxswpoi
希望能帮助到你。