(function($){ $.fn.extend({ initForm:function(options){ //默認參數 var defaults = { jsonValue:options, isDebug:false //是否須要調試,這個用於開發階段,發佈階段請將設置爲false,默認爲false,true將會把name value打印出來 } //設置參數 var setting = defaults; var form = this; jsonValue = setting.jsonValue; //若是傳入的json字符串,將轉爲json對象 if($.type(setting.jsonValue) === "string"){ jsonValue = $.parseJSON(jsonValue); } //若是傳入的json對象爲空,則不作任何操做 if(!$.isEmptyObject(jsonValue)){ var debugInfo = ""; $.each(jsonValue,function(key,value){ //是否開啓調試,開啓將會把name value打印出來 if(setting.isDebug){ alert("name:"+key+"; value:"+value); debugInfo += "name:"+key+"; value:"+value+" || "; } var formField = form.find("[name='"+key+"']"); if($.type(formField[0]) === "undefined"){ if(setting.isDebug){ alert("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 { formField.val(value); } } else if(fieldTagName == "select"){ //do something special formField.val(value); } else if(fieldTagName == "textarea"){ //do something special formField.val(value); } else { formField.val(value); } } }) if(setting.isDebug){ alert(debugInfo); } } return form; //返回對象,提供鏈式操做 } }); })(jQuery)