zoukankan      html  css  js  c++  java
  • jquery 将json对象赋值给form表单

    (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)  
  • 相关阅读:
    单例模式
    java笔记 chapter7 抽象类和数组
    java笔记 chapter6 StringBuffer类和String Bulider类,Math类 Date类,Calendar类
    设计上的若干问题
    Java中的二次分发
    关于抽象
    SSI框架下同一个Bean加载了2次问题解决
    Hello 2015
    关于window.location.href is not a function在FF,chrom报错问题
    使用Eclipse的一些小心得!
  • 原文地址:https://www.cnblogs.com/cutone/p/7126094.html
Copyright © 2011-2022 走看看