js匿名函数解决回调上下文参数变化...
时间:2010-08-10 来源:anghlq
有时定义回调的时候总被后面的参数所覆盖,在上下文中用匿名函数可以轻松解决这个问题。
for(var i=0; i<totalTblList.length; i++)
{
var idPre="#"+totalTblList[i];
var columns = totalColumms[i];
(function(idPre, columns){
jQuery(idPre+"Table").navButtonAdd(idPre+'TablePager',{
caption:"导入", buttonicon:"ui-icon-plusthick", onClickButton: function(){ $(idPre+"ImportDialog").dialog("open");}, position:"last"
})
.navSeparatorAdd(idPre+'TablePager',{sepclass:'ui-separator',sepcontent:''})
.navButtonAdd(idPre+'TablePager',{
caption:"导出", onClickButton: function(){
exportImp(idPre+"ImportDialog", idPre+"Table", columns);
}})
.navSeparatorAdd(idPre+'TablePager',{sepclass:'ui-separator',sepcontent:''})
.navButtonAdd(idPre+'TablePager',{
caption:"清空", buttonicon:"NONE", onClickButton: function(){
$(idPre+"Table").jqGrid("clearGridData");
}}) .navSeparatorAdd(idPre+'TablePager',{sepclass:'ui-separator',sepcontent:''})
.navButtonAdd(idPre+'TablePager',{
caption:"更新到服务器", buttonicon:"NONE", onClickButton: function(){
var obj ={};
obj[totalBackendName[idPre]] = exportImpInner(idPre+"Table",columns);
uploadjs("#statusPanel", totalBackendName[idPre]
, obj
);
}}) .navSeparatorAdd(idPre+'TablePager',{sepclass:'ui-separator',sepcontent:''}).navButtonAdd(idPre+'TablePager',{
caption:"版本", buttonicon:"NONE", onClickButton: function(){
openVersion('', totalBackendName[idPre])
}})
;
;
$(idPre+"TablePager_left").css("width", "100%");
})(idPre, columns);
}