我使用bootbox创建对话框,但我希望某些按钮仅在某些条件下显示。
我搜索了很多,但没有发现任何帮助..
我像这样定义bootbox:
def should_generate_new_friendly_id?
slug.blank? || title_changed?
end
如何让第二个按钮仅显示bootbox.dialog({
title: "title",
message: "text",
buttons: {
btn1: {
label: "Button 1",
callback: function () {
/* do something */
}
},
btn2: {
label: "Button 2",
callback: function () {
/* do something */
}
}
});
?
我之后也尝试删除按钮:
if(condition == true)
但没有成功。
任何想法都赞赏!
格雷茨
答案 0 :(得分:3)
只需修改传递给bootbox的按钮对象,就像这样
var buttons = {
btn1: {
label: "Button 1",
callback: function() {
/* do something */
}
},
}
// change here !!!
if (false)
buttons.btn2 = {
label: "Button 2",
callback: function() {
/* do something */
}
}
bootbox.dialog({
title: "title",
message: "text",
buttons: buttons
});
答案 1 :(得分:0)
你可以在bootbox中使用className
,如下所示:
var condition = false;
var displayButton="show";
if(condition){
displayButton="hide";
}
var dialog = bootbox.dialog({
title: "title",
message: "text",
buttons: {
btn1: {
label: "Button 1",
callback: function() {
/* do something */
}
},
btn2: {
className: displayButton,
label: "Button 2",
callback: function() {
/* do something */
}
}
}
});