loadDataFormメソッドの役割
2456 ワード
:Visual Studio
:
:2019 5 26
これはjqueryがjsonオブジェクトに基づいてformフォームを埋め込む方法で、私たちはデータを修正するときにまずデータの埋め戻しを行います.
postでデータをコミットしてloadDatatoFormを呼び出すという方法でformフォームのデータ埋め戻しを行います.
$.post("/SystemManagements/CollegeInfor/SelectAcademeById", { academeId: UacademeId },
function (data) {
loadDatatoForm("formUpdateAcademe", data);// json form
},"json")
loadDatatoFormという方法には、データテーブルのIDを入力するパラメータと、コントローラの書き込み方法でクエリーしたデータの2つがあります.
function loadDatatoForm(fromId, jsonDate) {
var obj = jsonDate;
var key, value, tagName, type, arr;
for (x in obj) {// json
key = x;
value = obj[x];
//$("[name='"+key+"'],[name='"+key+"[]']").each(function(){
// form id json key
$("#" + fromId + " [name='" + key + "'],#" + fromId + " [name='" + key + "[]']").each(function () {
tagName = $(this)[0].tagName;
type = $(this).attr('type');
if (tagName == 'INPUT') {
if (type == 'radio') {
$(this).attr('checked', $(this).val() == value);
} else if (type == 'checkbox') {
try {
//
arr = value.split(',');
for (var i = 0; i <
arr.length; i++) {
if ($(this).val() == arr[i]) {
$(this).attr('checked', true);
break;
}
}
} catch (e) {
//
$(this).attr('checked', value);
}
} else {
$(this).val(value);
}
} else if (tagName == 'TEXTAREA') {
$(this).val(value);
} else if (tagName == 'SELECT') {
//console.log($(this).hasClass("select2"));
if ($(this).hasClass("select2")) {
//select2
$(this).val(value).trigger("change");
} else {
$(this).val(value);
}
}
});
}
}