0

所以我知道用 jQuery UI 创建多个按钮,你只需这样做:

buttons : [{
    text  : settings.buttonText,
    click : function () { settings.buttonFunction(); }
},
{
    text  : button2Text,
    click : function () { settings.button2Function(); }
}
}]

我创建了一个插件来处理和制作类似站点范围内的对话框,并且最近需要添加传递多个按钮的选项,而不仅仅是 1。

现在通常这整个部分甚至不会运行,除非甚至需要一个按钮。我有一个快速if (settings.buttonText) { }包裹它。但问题是即使我没有传入 button2Text 等,按钮仍然出现。除了做一些新的事情,比如.hide()......

我的问题是:如果 settings.button2Text 被传递到插件中,我怎样才能让第二个{ text ... click ... }区域是动态的并且只出现在对象中?这甚至可能吗?

我觉得解决方案很简单,我现在只是脑残:) 感谢您的任何意见

4

1 回答 1

3

您可以在实际设置之前执行逻辑。像这样的东西:

var myButtons = [{
  text  : settings.buttonText,
  click : function () { settings.buttonFunction(); }
}];

if (addSecondButton) {
  myButtons.push({
    text  : button2Text,
    click : function () { settings.button2Function(); }
  });
}

然后你可以像这样启动对话框:

$(foo).dialog({buttons: myButtons})
于 2012-09-20T20:37:16.777 回答