我使用:
生成了我的模型数据public function actionGetDatosProducto()
{
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
$id = $_POST['id'];
if (($model = Producto::findOne($id)) !== null) {
return $model;
} else {
echo '';
}
}
所以我有我的JSON对象及其属性:
Object {Idproducto: 65, producto: "Meoe", fraccion: "1111", Idcte: 1}
我是否可以使用单行,因此JSON响应的四个值通过javascript自动分配给视图上的模型输入,如:
$.post(url, {
id: idModel,
}, function (data) {
//data is the object with attributes
$(form).load(data);
}, 'json');
为了避免手动输入分配:
$('#producto-idproducto').val(data.Idproducto);
$('#producto-producto').val(data.producto);
$('#producto-fraccion').val(data.fraccion);
答案 0 :(得分:0)
最后,我使用Javascript对象中的两个函数来完成任务,使用以下代码:
toDash: function (modelName) {
modelName = modelName.substr(0, 1).toLowerCase() + modelName.substr(1);
return modelName.replace(/([A-Z])/g, function($1){return "-"+$1.toLowerCase();});
},
fillAttributesToFields: function (modelName, data) {
var modelNameDash = this.toDash(modelName);
for (attribute in data) {
$('#'+modelNameDash+'-'+attribute.toLowerCase()).val(data[attribute]);
}
}
该代码自动将模型数据填充到表单中,来自AJAX请求。
我不确定是否有办法用框架提供的功能来完成它,但这两个功能对我有用。