jQuery对话框按钮中的动态函数

时间:2011-04-19 14:34:18

标签: jquery modal-dialog jquery-ui-dialog

我有以下问题。我正在尝试在模态对话框中添加动态按钮。但我不知道,我如何为每个按钮提供功能。

我有以下内容:

     for(i=0;i<buttons.length;i++){
          arrButton[i] = { id :  buttons[i].name  , text :  buttons[i].label , click : function(){  buttons[i].onclick  } };
     } 
     $("#divFormulario").dialog
        ({  modal    : true, 
            title    : titulo,
            resizable: false,
            buttons  :  arrButton     
        });

例如,如果我有以下内容:buttons[i].onclick = "functionAlert();,当我创建按钮时,点击事件包含buttons[i].onclick,但我需要点击事件functionAlert()。我做错了什么?

1 个答案:

答案 0 :(得分:3)

假设你有一个功能:

function functionAlert() { ...some code... }

不要将函数作为字符串传递,而是执行:

buttons[i].onclick = functionAlert;

然后你的循环应该是:

for(i=0;i<buttons.length;i++){
   arrButton[i] = { id :  buttons[i].name  , text :  buttons[i].label , click : buttons[i].onclick };
}