Buongiorno
Ho implementato su Yii 1.1 un form di ricerca che mostra i risultati parziali all’utente.
Per la creazione di questa funzionalità ho banalmente aggiunto questo codice js.
$('#search-form').keyup(function(){
$.fn.yiiListView.update(
'result-grid',
{data: $(this).serialize()});
});
Sto effettuando il porting dell’applicazione ad yii2.
Con la nuova versione del framework è necessario effettuare questo tipo di operazioni con pjax
Dunque ho seguito questa wiki, ed ho effettuato le seguenti modifiche al codice:
View:
<?php \yii\widgets\Pjax::begin(); ?>
<?= ListView::widget([
'id'=>'result-grid',
'dataProvider'=>$model->result,
[...]
]);
?>
<?php \yii\widgets\Pjax::end(); ?>
Javascript:
$('#search-form').keyup(function(){
$.pjax.reload({container:'#result-grid', data:$(this).serialize()})
});
L’aggiornamento della ListView viene effettuato correttamente, ma la scrittura non è fluida e ogni 2-3 caratteri digitati si perde il focus del form di ricerca.
Ho provato a giocare con i vari parametri async, ma il risultato non sembra cambiare.
Qualcuno ha qualche consiglio da darmi su come implementare correttamente questa funzionalità?