关于easyUI form load数据显示在页面上的问题

flamehazi 发布于 2013/02/26 16:33
阅读 11K+
收藏 1

用easyUI form load数据的json格式的,数据格式如下:

{

    'data':{

            'person':{

                {'id':'0','name':'张三'}

            }

    }

}

现在要将信息显示到页面的文本框里,可文本框是这个样子的<input type="text" name="person.name" />这时,这个数据就显示不出来了,请问大侠们,这个应该怎么改呢

加载中
0
f
flamehazi
还是自己回答吧。也是别人给的一个思路,用数组形式读取json数据,以字符串匹配的方式进行赋值,代码如下:
data是action返回过来的json数据
var name=' ';//获取标签的name值
var strs=new Array();//声明一个数组,用于字符串分隔 $('#form input,select').each(function(){
        name=$(this).attr('name');
        if(name) {
        strs=name.split(".");
        if($(this).attr('type')=='radio') $('#form [type=radio][value='+data[strs[0]][strs[1]]+']').attr('checked','checked');
        else $(this).val(data[strs[0]][strs[1]]);
        }
        });
Nori
Nori
加在什么地方。虽然解决思路有点儿。但是真正解决问题。
0
xmut
xmut
先使用 eval ("("+data+")"),再使用person.name!
0
loyal
loyal
别听楼上的,你继续贴点代码.
f
flamehazi
我感觉easyUI form load数据之后,是根据<input>标签中的name属性来赋值的,但是form提交的时候,后台接收的是一个对象,所以就把name属性改为“对象.属性”,也就是上面的格式了。现在用form插件load之后,就显示不出来了
0
杨宇
杨宇

load要求你返回的json格式是

 {'id':'0','name':'张三'}

这样的,然后自动注入到id,name里面。建议采用flamehazi 的这种方式

0
gowk
gowk

https://gitee.com/eova/eova/blob/master/src/main/webapp/eova/plugins/easy/easy.js#L304

可以完美解决你的问题

返回顶部
顶部