问题描述
图片已经在服务器../../photo目录下可以点编辑时候打开在页面for里面有个box里面可以预览出来 点编辑时候json传递过来数据如下:ajax json load string = {success:true,totalProperty:1,root:[{engineer_id:'aaa',engineer_name:'aaaa',phoneno:'11111',mobileno:'1111',engineer_photo:'bbb.jpg',createdate:'2012-05-28'}]}里面engineer_photo 即为显示的图片名称 现在如何在下面的BOX里面显示出来 { inputType:"file", id: 'engineer_photo', emptyText: '请选择', fieldLabel: '选择头像', name: 'engineer_photo' } , { xtype : 'box', id : 'imageBrowse', fieldLabel : "预览", width : 100, autoEl : { width : 100, height : 100, tag : 'img', src : '../../photo/ '+.../*此处如何得到路径*/, style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);', complete : 'off', id : 'imageBrowse' } } src里面改为绝对路径是可以显示的
解决方案
你说的其实是动态生成的问题。。。想想图片是变化的,肯定不是唯一的,所以你想通过后台给你传过来图片的地址,然后你就显示就ok了这个问题我们项目是这样解决的(也是我操刀的):1.create一个box的容器(form或者container或者其他)2.讲需要的组件create出来(比如:textfield,label或者box)3.当store或者ajax请求加载数据的时候,将组件添加到容器中,并且给组件附上相应的值比如:Ext.Ajax.request({ url: 'page.php', params: { id: 1 }, success: function(response){ var store = Ext.getStore("yourStore"); store.load(); //组装组件的操作,给组件动态添加属性的值,比如image }});