loadDataForm方法的作用

开发工具与关键技术:Visual Studio

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

            }



        }



    });

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值