1. 程式人生 > >jq form表單自動賦值

jq form表單自動賦值

+= each radi 鏈接 是否 如果 != image def

(function ($) { $.fn.extend({ initForm: function (options) { //默認參數 var defaults = { formdata: "", isDebug: true //是否需要調試,這個用於開發階段,發布階段請將設置為false,默認為false,true將會把name value打印出來 } //如果傳入的json字符串,將轉為json對象 var tempData = ""; if ($.type(options) === "string") { defaults.formdata = JSON.parse(options); } else { defaults.formdata = options; } //設置參數 // var setting = $.extend({}, defaults, tempData); var setting = defaults; var form = this; formdata = setting.formdata; //如果傳入的json對象為空,則不做任何操作 if (!$.isEmptyObject(formdata)) { var debugInfo = ""; $.each(formdata, function (key, value) { //是否開啟調試,開啟將會把name value打印出來 if (setting.isDebug) { debugInfo += "name:" + key + "; value:" + value + "\r\n "; } //表單處理 var formField = form.find("[name=‘" + key + "‘]"); if ($.type(formField[0]) === "undefined") { if (setting.isDebug) { console.warn("can not find name:[" + key + "] in form!!!"); //沒找到指定name的表單 } } else { var fieldTagName = formField[0].tagName.toLowerCase(); if (fieldTagName == "input") { if (formField.attr("type") == "radio") { $("input:radio[name=‘" + key + "‘][value=‘" + value + "‘]").attr("checked", "checked"); } else if (formField.attr("type") == "checkbox") { $("input:checkbox[name=‘" + key + "‘][value=‘" + value + "‘]").attr("checked", "checked"); } else { formField.val(value); } } else if (fieldTagName == "label") { formField.html(value); } else { formField.val(value); } } //圖片鏈接處理form.find("img[fieldata=img_url]") var formImage = form.find("img[fieldata=" + key + "]"); if ($.type(formImage[0]) != "undefined") { formImage.attr("src", value); } //a鏈接處理 var formLink = form.find("a[fieldata=" + key + "]"); if ($.type(formLink[0]) != "undefined") { formLink.attr("href", value); } }) if (setting.isDebug) { console.log(debugInfo); } } return form; //返回對象,提供鏈式操作 } }); })(jQuery)

jq form表單自動賦值