首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

关于JS,在for循环里使用switch产生的有关问题(easyui)

2013-11-26 
关于JS,在for循环里使用switch产生的问题(easyui)出现的问题:问题就出现【handler】点击事件上面,当上面代码

关于JS,在for循环里使用switch产生的问题(easyui)

出现的问题:
问题就出现【handler】点击事件上面,当上面代码执行后,产生的所有按钮的点击事件都是循环时最后一个事件,也就是说假如循环到最后一个删除按钮,它的事件应该是alert("删除"),但是循环完毕后,所有按钮的事件都是alert("删除"),用断点跟踪了一下,就是最后一次执行后,覆盖了曾经全部的事件。
其实我想实现的功能就是动态的添加datagrid表格的按钮。
easyui jquery javascript ajax
[解决办法]


for (var i = 0; i < data.length; i++) {
(function(item){
                        $("#dg").datagrid("addToolbarItem", [{ "text": item.ActionName, "iconCls": item.Icons, "handler": function () {
                           
                                switch (item.ActionName) {


                                    case '添加': alert("添加");
                                        break;
                                    case '修改': alert("修改");
                                        break;
                                    case '删除': alert("删除");
                                        break;
                                    default: alert("ddd");
                                 
                            }
                        }
                        }, "-"]);
})(data[i]);
                }


[解决办法]
变量作用域(闭包)的问题,按照#2的改就行了

热点排行