1. 程式人生 > 其它 >js 獲取和回填form表格資料

js 獲取和回填form表格資料

        //將form裡面的內容序列化成json資料
        $.fn.serializeJson = function (otherString) {
            var serializeObj = {}, array = this.serializeArray();
            $(array).each(function () {
                if (serializeObj.hasOwnProperty(this.name)) {
                    serializeObj[this.name] += ';' + this
.value; } else { serializeObj[this.name] = this.value; } }); if (otherString != undefined) { var otherArray = otherString.split(';'); $(otherArray).each(function () { var otherSplitArray = this
.split(':'); serializeObj[otherSplitArray[0]] = otherSplitArray[1]; }); } return serializeObj; }; //將josn物件賦值給form--》即資料回顯 $.fn.setForm = function (jsonValue) { var obj = this; $.each(jsonValue,
function (name, ival) { var $oinput = obj.find("input[name=" + name + "]"); if ($oinput.attr("type") == "checkbox") { if (ival !== null) { var checkboxObj = $("[name=" + name + "]"); var checkArray = ival.split(";"); for (var i = 0; i < checkboxObj.length; i++) { for (var j = 0; j < checkArray.length; j++) { if (checkboxObj[i].value == checkArray[j]) { checkboxObj[i].click(); } } } } } else if ($oinput.attr("type") == "radio") { $oinput.each(function () { var radioObj = $("[name=" + name + "]"); for (var i = 0; i < radioObj.length; i++) { if (radioObj[i].value == ival) { radioObj[i].click(); } } }); } else if ($oinput.attr("type") == "textarea") { obj.find("[name=" + name + "]").html(ival); } else { obj.find("[name=" + name + "]").val(ival); } }) }
// 回填
var thisForm = $("#form");
thisForm.setForm(data);
// 獲取
var thisForm = $("#form");
var thisData = thisForm.serializeJson();