Ich möchte pjax in Ansichten/Viewfile/Index verwenden, um den Zustand der Datenbankzeile nach dem Klicken auf eine Schaltfläche zu aktualisieren. Wie kann man das Schritt für Schritt machen, in welcher Datei JavaScript Code schreiben und in welcher Datei Daten von AJAX bekommen?Wie pjax in yii2 verwenden, um eine Spalte in Yii2 zu aktualisieren?
<?php
use yii\widgets\Pjax;
Pjax::begin();
echo GridView::widget([...]);
Pjax::end();
?>
<?php
use yii\helpers\Html;
use yii\grid\GridView;
/* @var $this yii\web\View */
/* @var $searchModel app\models\LaptopSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$this->title = 'Laptops';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="laptop-index">
<h1><?= Html::encode($this->title) ?></h1>
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>
<p>
<?= Html::a('Create Laptop', ['create'], ['class' => 'btn btn-success']) ?>
</p>
\t <?php \yii\widgets\Pjax::begin('id' => 'rp1'); ?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'network',
'technology',
'sup_id',
'speaker',
\t \t \t 'size',
\t \t \t [
'class' => 'yii\grid\ActionColumn',
'template' => '{myButton}' , // the default buttons + your custom button
'buttons' => [
'myButton' => function($url, $model, $key) { // render your custom button
return Html::a('تایید');
}
]
\t \t \t ],
\t \t \t
\t \t \t // [
// 'class' => DataColumn::className(), // this line is optional
/* 'attribute' => 'name',
'format' => 'text',
'label' => 'Name',
],*/
// 'optical_drive',
//'webcam',
// 'touchpad',
// 'card_reader',
// 'ethernet',
// 'vga',
// 'hdmi',
// 'usb3_ports',
// 'usb2_ports',
// 'usb_type_c',
// 'thunderbolt_ports',
// 'serial_ports',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
\t <?php \yii\widgets\Pjax::end(); ?>
</div>
Wie Onclick Zustand in der Datenbank speichern ('MyButton')? In welcher Datei sollte jquery für ajax aufgerufen werden?
danke.Sie sind richtig, aber gibt es ein komplexes Beispiel darüber – areff
Ja, auf jeden Fall. Für komplexe js-Teile schreiben wir js lieber in einer separaten Datei und konfigurieren Ihre App so, dass sie die js-Datei automatisch mit dem gleichen Namen wie der Ansicht enthält. Das sollte alle Ihre komplette js handhaben und Implementierung würde ordentlich sein – Gunnrryy
wie man eindeutige ID für jeden Knopf in einer Reihe setzt? – areff