从action传进一个json格式的字符串到界面,界面做完特殊符号处理后,用eval()方法转化为一个对象,代码如下:var monitorlist = '<%=monitor_list%>';
monitorlist = eval(monitorlist);接着用遍历的方式获取到list中的每个monitor,代码如下:var monitorListCount = monitorlist.length;
var monitorListNum = parseInt(monitorListCount,10);
var monitorBtnArr = new Array();
for(i = 0; i < monitorListNum*2; i++)
{
var monitor = monitorlist[i];
alert(monitor.monitorID);
alert(monitor.monitorName);
var btn = new Ext.Button({
id : monitor.monitorID,
text : monitor.monitorName,
disabled : false
});
}接着在下面的button组件中,获取每个monitor对象的monitorID和monitorName属性值,其实在定义button组件前的两个alert中已经可以取到monitorID和monitorName的值了,但是页面中还是报:'monitorID' 为空或不是对象,让我甚是郁闷啊,有哪位大侠也遇到过类似的问题啊,有谁知道EXT这里有暗藏什么玄机啊,好奇怪!
monitorlist = eval(monitorlist);接着用遍历的方式获取到list中的每个monitor,代码如下:var monitorListCount = monitorlist.length;
var monitorListNum = parseInt(monitorListCount,10);
var monitorBtnArr = new Array();
for(i = 0; i < monitorListNum*2; i++)
{
var monitor = monitorlist[i];
alert(monitor.monitorID);
alert(monitor.monitorName);
var btn = new Ext.Button({
id : monitor.monitorID,
text : monitor.monitorName,
disabled : false
});
}接着在下面的button组件中,获取每个monitor对象的monitorID和monitorName属性值,其实在定义button组件前的两个alert中已经可以取到monitorID和monitorName的值了,但是页面中还是报:'monitorID' 为空或不是对象,让我甚是郁闷啊,有哪位大侠也遇到过类似的问题啊,有谁知道EXT这里有暗藏什么玄机啊,好奇怪!
把monitor.monitorID在赋给一个变量, 然后new Ext.Button里面用那个新变量试试。
死马当活马办了。
var btn = new Ext.Button({
id : monitorId,
text : 'DIY',
disabled : false
});}
for(i = 0; i < monitorListNum*2; i++)
{
var monitor = monitorlist[i];
alert(monitor.monitorID);
alert(monitor.monitorName);
createButton(monitor.monitorID)
}
这个办法确实可以,呵呵!
但是不能写成像我上面那样,创建按钮时,那个id,name不能使用太直接的变量,你这种方式也是变量却可以,有待研究啊!