簡體   English   中英

如何使用JavaScript將Yii2對象加載到輸入中

[英]How to load a Yii2 object into inputs using javascript

我使用以下方法生成了模型數據:

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);

最后,我使用以下代碼在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請求的模型數據填充到表單中。

我不確定是否有辦法使用框架提供的功能,但是這兩個功能對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM