json对象load到表单中,这样后台Ajax过来的数据就可以直接加载

来源:互联网 发布:讨鬼传捏脸详细数据 编辑:程序博客网 时间:2024/05/21 10:11
废话不多说,直接上代码,javascript的。
    /**     * 加载json的数据到页面的表单中,以name为唯一标示符加载     * @param {String} jsonStr json表单数据     */    function loadJsonDataToForm(jsonStr){        try{            //var obj = eval("("+jsonStr+")");            var obj = jsonStr;            var key,value,tagName,type,arr;            for(x in obj){                key = x;                value = obj[x];                $("[name='"+key+"'],[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'){                            arr = value.split(',');                            for(var i =0;i<arr.length;i++){                                if($(this).val()==arr[i]){                                    $(this).attr('checked',true);                                    break;                                }                            }                        }else{                            $(this).val(value);                        }                    }else if(tagName=='SELECT' || tagName=='TEXTAREA'){                        $(this).val(value);                    }                });            }        }catch(e){            alert("加载表单:"+e.message+",数据内容"+JSON.stringify(jsonStr));        }    }

平时我就是Ajax到后台拿数据,拿完之后直接loadJsonDataToForm(obj),相当好用。

0 0