javascript - 为 jQuery UI 对话框创建可选的多个按钮

标签 javascript jquery jquery-ui jquery-ui-dialog

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

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

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

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

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

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

最佳答案

您可以在实际设置之前先完成逻辑。像这样的事情:

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

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

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

$(foo).dialog({buttons: myButtons})

关于javascript - 为 jQuery UI 对话框创建可选的多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12520507/

相关文章:

javascript - Meteor - 为什么我们需要单文件库的包?

javascript - Flot 不适用于 node.js

javascript - 在加载页面时显示加载屏幕并进行一些繁重的后端工作?

jquery-ui - 使用 ajax 创建 Grail Jquery 模态窗口和表单发布?

javascript - 使用 jQuery UI Widget Factory 删除销毁事件的推荐方法

css - 如何创建左侧两个框和右侧一个框的布局

JavaScript if 语句测试一个或另一个但不是两个

javascript - 用脚本中断html页面的刷新过程

PHP ajax bug 加载更多

javascript - 根据导航菜单中的 url 更改下拉选项