0
ビュー/ viewfile/indexでpjaxを使用して、ボタンをクリックした後にデータベースの行の状態を更新したいとします。どのようにファイルをJavaScriptコードを書いて、どのファイルがAJAXからデータを取得するのかを段階的に行うことができますか? ( 'myButtonという')onclickのデータベースの状態を保存する方法yii2でpjaxを使用してYii2の列を更新するにはどうすればよいですか?
<?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>
?どのファイルでajaxのjqueryを呼び出す必要がありますか?
ありがとうございます。あなたは正しいですが、複雑な例があります。 – areff
はい、間違いありません。複雑なjsの部分では、別のファイルにjsを書き込んだり、ビューの名前と同じ名前のjsファイルを自動で含むようにアプリを設定する方が好きです。それはあなたの完全なjsをすべて処理する必要があり、実装はきちんとしています – Gunnrryy
行内の各ボタンの一意のIDを設定する方法は? – areff