gpt4 book ai didi

pjax - 在 YII2 中使用 Pjax 更新 div

转载 作者:行者123 更新时间:2023-12-02 04:57:24 30 4
gpt4 key购买 nike

我正在尝试在 yii2 项目中使用 Pjax 小部件。
我的目标是用一些内容更新 div #formsection
我的代码:查看

<?php Pjax::begin(); ?>
<div id="formsection"></div>
<?php foreach ($tree as $id => $name): ?>
<?php echo Html::a(
$name,
['update', 'id'=>$id],
['data-pjax'=> '#formsection']) ?>
<?php endforeach ?>
<?php Pjax::end(); ?>

更新操作

public function actionUpdate($id)
{
return $this->renderAjax('update');
}

当我单击链接时,所有 pjax div 内容都将被服务器的响应替换。我只想更新 #formsection 内容。

我发现了一个帖子here但它也不起作用。

更多信息:这是Pjax小部件在页面中生成的js代码。

jQuery(document).ready(function () {
jQuery(document).pjax("#w0 a", "#w0", {"push":true,"replace":false,"timeout":1000,"scrollTo":false});
jQuery(document).on('submit', "#w0 form[data-pjax]", function (event) {jQuery.pjax.submit(event, '#w0', {"push":true,"replace":false,"timeout":1000,"scrollTo":false});});
});

我的代码有什么问题?

<小时/>

我解决了这个问题。我必须改变对此的看法。

<div id="categories">
<?php foreach ($tree as $id => $name): ?>
<?php echo Html::a(
$name,
['update', 'id'=>$id],
['data-pjax'=> '#formsection']) ?>
<?php endforeach ?>
</div>
<?php Pjax::begin(['id'=>'formsection', 'linkSelector'=>'#categories a']); ?>
<?php Pjax::end(); ?>

最佳答案

Pjax的正确解决方案

如果您不想在 Pjax::begin()Pjax::end() 之间放置标签数据使用 Pjax::widget() 并包含 linkSelector 选项:

Pjax::widget(['id' => 'formsection', 'linkSelector' => '#categories a']);

其中formsection是当点击#categories a链接时接收Pjax返回的数据的元素的id。 #categories a 是一个 JQuery 选择器

关于pjax - 在 YII2 中使用 Pjax 更新 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23953659/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com