Po përpiqem të përdor miniaplikacionin Pjax në një projekt yii2.
Qëllimi im është të përditësoj div #formsection
me disa përmbajtje.
Kodi im: Shiko
<?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(); ?>
Veprimi i përditësimit
public function actionUpdate($id)
{
return $this->renderAjax('update');
}
Kur klikoj lidhjen, të gjitha përmbajtjet pjax div
zëvendësohen me përgjigjen nga serveri. Unë dua që vetëm përmbajtja #formsection
të përditësohet.
Kam gjetur një postim këtu por gjithashtu nuk funksionon.
Disa informacione të tjera: Ky është kodi js që gjeneron miniaplikacioni Pjax në faqe.
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});});
});
Cili është problemi me kodin tim?
E zgjidha problemin. Më duhej të ndryshoja pikëpamjen në këtë.
<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(); ?>