2017-06-20 109 views
-1

我有一個Bootstrap模式,顯示一個大表單(30+個輸入)。從JSON填充Bootstrap模態表單域

我寫了下面的代碼來填充JSON的前幾個字段。

$('#seg-detail-modal').on('shown.bs.modal', function (e) { 

    var modal = $(this); 

    $.get("includes/segdata.json", function(data) { 
    $('#seg-detail-modal').find("input[name='segCode']").val(data.segCode); 
    $('#seg-detail-modal').find("input[name='orgName']").val(data.orgName); 
    $('#seg-detail-modal').find("input[name='referenceId']").val(data.referenceId); 
    }); 

}); 

有沒有比我在這裏做的更有效的填充大表單的方式?

回答

1

您可以遍歷對象屬性並將選擇器匹配到該循環中的屬性。

喜歡的東西:

$('#seg-detail-modal').on('shown.bs.modal', function(e) { 
    var $inputs = $(this).find(':input'); 
    $.getJSON("includes/segdata.json", function(data) { 
    $.each(data, function(key, val) { 
     $inputs.filter('[name="' + key + '"]').val(val); 
    }); 
    }); 
}); 

如果一個屬性存在沒有匹配的選擇只會失敗悄然