Javascript 如何使用foreach列出一行?
我有一个问题要问你。 立即获取此代码:Javascript 如何使用foreach列出一行?,javascript,php,jquery,yii,foreach,Javascript,Php,Jquery,Yii,Foreach,我有一个问题要问你。 立即获取此代码: <?php use yii\helpers\Url; use yii\helpers\Html; use yii\web\JsExpression; ?> <form action="<?= Url::to(['/worker/equipment/updatecol']) ?>" id="editcol" method="POST"> <div clas
<?php
use yii\helpers\Url;
use yii\helpers\Html;
use yii\web\JsExpression;
?>
<form action="<?= Url::to(['/worker/equipment/updatecol']) ?>" id="editcol" method="POST">
<div class="form-group">
<?php foreach($columns as $column) { ?>
<label >Edit title</label>
<input type="text" class="form-control" value="<?= $column->equipment_column_title ?>" name="equipment_column_title" placeholder="Put name.." />
<?php } ?>
</div>
<div class="form-group">
<?php foreach($columns as $column) { ?>
<label>Edit type</label>
<select class="form-control" name="equipment_column_type">
<option value="1" <?php if ($column->equipment_column_type==1) echo "selected='selected'"?>>Int</option>
<option value="2" <?php if ($column->equipment_column_type==2) echo "selected='selected'"?>>Varchar</option>
<option value="3" <?php if ($column->equipment_column_type==3) echo "selected='selected'"?>>Date</option>
<option value="3" <?php if ($column->equipment_column_type==4) echo "selected='selected'"?>>File</option>
</select>
<?php } ?>
</div>
<input type="hidden" name="_csrf" value="<?=Yii::$app->request->getCsrfToken()?>" />
<?php foreach($columns as $column) { ?>
<input type="hidden" name="column" value="<?= $column->equipment_column_id ?>" />
<?php } ?>
<button type="submit" class="btn btn-primary">Update column</button>
</form>
</div>
这是我用来更新专栏的:
public function actionUpdatecol(){
$model = EquipmentColumn::findOne($_POST['id']);
$model -> equipment_column_title = $_POST['equipment_column_title'];
$model -> equipment_column_type = $_POST['equipment_column_type'];
$model -> update();}
现在我们来看jquery,这里有modal
$('.editcolumn').click(function()
{
var essay_id = $(this).data('id');
$.ajax({
cache: false,
type: 'POST',
url: '".Url::to(['/worker/equipment/updatecolumnform'])."',
data: 'id='+essay_id,
success: function(data)
{
console.log(data);
$('#update_col').modal('show');
$('#edit_col').html(data);
}
});
});
$('#editcol').submit(function(){
var th=$(this);
console.log(th);
$.ajax({
url: '".Url::to(['/worker/equipment/updatecol'])."',
type: 'POST',
data: th.serialize(),
error: function(data,status,text) {alert(text);},
success: function(data) {
var n=noty({
text: '".Yii::t('app', 'Type was saved')."',
type:'success',
layout: 'topCenter',
animation: {
open: 'animated bounceInLeft', // Animate.css class names
close: 'animated bounceOutLeft', // Animate.css class names
easing: 'swing', // unavailable - no need
speed: 500 // unavailable - no need
}
})
}
})
})
这是我用于提交编辑字段的jquery脚本的两部分。
我的问题是:这段代码列出了所有带有标题和类型的列,但我只想列出一个带有标题和类型的列,我想编辑它。
谢谢你的帮助:)
我认为foreach有问题,但我不确定。:) 更新给定id,但渲染所有id。使用foreach,您可以看到所有记录。如果只想查看已编辑的一条数据记录,请发送一条数据以供查看
$columns = EquipmentColumn::model()->findAllByPk($id);
有了这些代码,您就可以根据属于已更改记录的给定id获得所有信息
$columns = EquipmentColumn::model()->findAllByPk($id);