动态生成checkbox的有关问题

动态生成checkbox的问题JScript codefunction checkbox(){var checkboxItem []var chs [A,B,C,

动态生成checkbox的问题

JScript code
function checkbox(){                var checkboxItem = [];                var chs = ['A','B','C','D'];                    for(var i = 0; i < chs.length; i++){                        var cls = "width-"+chs[i]+"-box";                        var checkbox = new Ext.form.Checkbox({                            id:chs[i]+"id",                            boxLabel:chs[i],                            listeners:{                                render:function(el){                                    el.getEl().parent().addClass(cls);                                }                            }                        });                        checkboxItem.push(checkbox);                    }                    return checkboxItem;            }

-----------------------------------------------------
上面是一段用for循环生成checkbox的代码,不过有点小问题
当代码运行到el.getEl().parent().addClass(cls);时候,cls的值会改变,变成chs[i+1]
但在checkboxItem.push(checkbox);的后面alert(cls)的值是
width-A-box,width-B-box,width-C-box,width-D-box
----------------------------------


[解决办法]
你可以参考
http://stackoverflow.com/questions/359467/jquery-closures-loops-and-events
这个是jquery的做法
[解决办法]
参照id:chs[i]+"id"写法,不用变量,可能var cls的指针都是一个地址。导致所有checkbox都是D