如何自定义Bootbox.js提示选项

时间:2013-10-30 13:59:07

标签: bootbox

我正在尝试自定义bootboxjs.prompt选项,但似乎它不允许将选项对象作为参数

这是http://bootboxjs.com/index.html#api

的示例
bootbox.prompt("What is your name?", function(result) {                
  if (result === null) {                                             
    Example.show("Prompt dismissed");                              
  } else {
    Example.show("Hi <b>"+result+"</b>");                          
  }
});

这就是我想要传递的内容:

var promptOptions = {
  title: "Custom label",
  buttons: {
    confirm: {
      label: "Save"
    }
  }
};

bootbox.prompt(promptOptions, function(result) {                
  if (result === null) {                                             
    console.log("Prompt dismissed");                              
  } else {
    console.log("Hi "+result);                          
  }
});

如何自定义标题和按钮标签?

2 个答案:

答案 0 :(得分:21)

您将能够使用自定义对话框进行自定义提示。 您唯一需要知道的是,您为bootbox提供的消息字符串不必是纯文本。它可以是HTML,因此您可以将自己的提示放在自定义引导框对话框中。

你要做的是这个(使用Bootbox 4.x):

bootbox.dialog({
  message: "First name:<input type='text' id='first_name'>",
  title: "Custom label",
  buttons: {
    main: {
      label: "Save",
      className: "btn-primary",
      callback: function() {
        console.log("Hi "+ $('#first_name').val());
      }
    }
  }
});

答案 1 :(得分:19)

如果要使用自定义标签传递对象,

bootbox.prompt只需要一个参数。因此,为了使其工作,您必须将回调放在配置对象中:

var promptOptions = {
  title: "Custom label",
  buttons: {
    confirm: {
      label: "Save"
    }
  },
  callback: function(result) {                
      if (result === null) {                                             
        console.log("Prompt dismissed");                              
      } else {
        console.log("Hi "+result);                          
      }
    }
};

bootbox.prompt(promptOptions);