我目前正在定义一个变量号。像这样的 jquery 对话框的按钮
var buttonNames = buttonNamesString.split("|");
var buttonsOpts = {};
for (i = 0; i < buttonNames.length; i++) {
buttonsOpts[buttonNames[i]] = function() { $(this).dialog("close");__doPostBack(postbackControlID, buttonNames[i]);}
}
并像这样初始化对话框。(注意线路按钮:buttonsOpts。这就是我传递按钮的变量编号的方式)
var parentElement = popupControl.parent();
popupControl.dialog({
autoOpen: false,
modal: true,
buttons: buttonsOpts,
hide: "explode",
open:function(type, data){
$(this).parent().appendTo(parentElement);
popupControl.css({visibility: "visible"});
}
});
问题是当单击对话框中的按钮时 buttonNames[i] 在行中不返回任何内容,因为 i 已增加到其最大值。
function() { $(this).dialog("close");__doPostBack(postbackControlID, buttonNames[i]);}
我们是否可以像在 .Net 事件中使用 sender 对象那样访问从 Javascript 事件代码内部触发事件的对象。这样就可以解决问题了。
我该如何克服呢?提前致谢。