jQuery-UI对话框按钮 - 将参数传递给btn click函数

时间:2011-08-05 09:53:31

标签: jquery-ui jquery-ui-dialog

我是一个begginer jQuery dev,我正在使用jQuery UI对话框来显示对象的属性(无论如何)。

var $dialog = $('<div></div>')
    .html('This dialog will show every time!')
    .dialog({
        autoOpen: false,
        title: 'Properties'
    });

所以这是对话框,假设我有一个FOR结构,我在其中添加属性(p标签),对于其中一些属性,我想要一个按钮。

var dialogHtml = "";
var dialog_buttons = {};
for (var key in d.properties){
    var str;
    var str = '<p>' + something + '</p>';

    if (condition){
        dialog_buttons[key] = function()
            { functionName(key); };
    }

    dialogHtml = dialogHtml + str;
}
$dialog.dialog( "option", "buttons", dialog_buttons );
$dialog.dialog('open');

在其他地方我有这个功能:

function functionName(key){
    // something something
}

这就是我遇到问题的地方:传递给函数的键变量...当调用按钮时,键是迭代中的最后一个值。 假设我们有按键1,2,3,4,那么当单击按钮时,关键参数将为4。

我想点击对话框中的按钮,知道按下了哪个按钮

有人能帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

使用点击事件(see here)

中的事件数据
$('#btn').click(function(e) {
  functionName(e.target);
});

Explanation of Event.Target