我是一个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。
我想点击对话框中的按钮,知道按下了哪个按钮。
有人能帮助我吗?
谢谢!
答案 0 :(得分:2)
使用点击事件(see here)
中的事件数据$('#btn').click(function(e) {
functionName(e.target);
});