loadDataForm方法的作用


开发工具与关键技术: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,一个是通过控制器写方法查询出来的数据。

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

            }



        }



    });

}

}

你可能感兴趣的:(菜鸟)