在yii2 crud应用程序中,我添加了一个表格并具有一些值,它显示为表格。我需要添加一个与每个条目相对应的空文本框,并在其中执行功能。
我已经添加了两个按钮(即,用于执行某些功能的读写),我无法添加空文本框,并且此按钮也将我带到了另一页,现在我需要一个空文本框,以便用户可以在其中写入值如果单击“写入”按钮,则值应存储在变量中,然后可以将其写入文本文件。
我在视图文件夹中的索引是:
['class' => 'yii\grid\ActionColumn',
'template' => '{update}{delete}{read}{write}',
'buttons' => [
'delete' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [
'title' => Yii::t('app', 'delete'),
]);
},
'update' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [
'title' => Yii::t('app', 'update'),
]);
},
'read' => function ($url, $model) {
return Html::a('Read', $url, [
'title' => Yii::t('app', 'read'),
]);
},
'write' => function ($url, $model) {
return Html::a('write', $url, [
'title' => Yii::t('app', 'write'),
]);
},
],
I need to add text box and get the value from user without using db.
答案 0 :(得分:0)
您可以使用Ajax发送Text Box
的值。或按或...
以下示例:创建一个空文本框(引导程序)并通过form
发送
还创建一个读取按钮以加载读取操作。 更改网址还有两种方法。由urlCreator
或..
注意:要将Text Box
发送给您要执行的操作,请将第一个参数更改为beginForm
。
<?=Html::beginForm(['action'],'post'); ?> // form action
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\CheckboxColumn'],
'id',
// 'test',
['class' => 'yii\grid\ActionColumn', 'buttonOptions' => ['style'=>'float:left; margin: 6px;'],
// 'contentOptions' => ['class' => td tag..],
'template' => '{update}{delete}{read}{write}',
'buttons' => [
'read' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-saved"></span>',
yii\helpers\Url::to(['read', 'id' => $model->id]), [ // default URL : $url
'title' => Yii::t('app', 'reed'),
'style' => 'float:left;margin: 6px;',
]);
},
'write' => function ($url, $model) {
return Html::beginTag('div', ['class'=>'input-group has-primary has-feedback', 'style' => 'float:unset; margin-left:55px;'])
.Html::tag('span', '<i class="glyphicon glyphicon-saved"></i>', ['class' => 'input-group-addon'])
.Html::textInput("write[$model->id]",'', ['label' => 'sss' ,'class' => 'form-control input-sm'])
.Html::tag('div', Html::submitButton('Write', ['id'=>"smt",'class' =>'btn btn-primary btn-sm']), ['class' => 'input-group-btn'])
. Html::endTag('div');
},
],
// 'urlCreator' => function ($action, $model, $key, $index) { // You also can change URLs
// if ($action === 'read') {
// $url ='read?id='.$model->id;
// return $url;
// }elseif ($action === 'write') {
// $url ='write?id='.$model->id;
// return $url;
// }
// }
],
],
]); ?>
<?= Html::endForm();?>
如果您使用 Pjax ,则必须放置'data-pjax' => ''
还可以使用$.ajax
通过点击事件或更改事件发送输入...
在控制器中:
if ( \Yii::$app->request->post() ) {
print_r(\Yii::$app->request->post());
#code...