13

我正在尝试自定义 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);                          
  }
});

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

4

2 回答 2

25

您将能够使用自定义对话框制作自定义提示。您唯一需要知道的是,您提供给 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());
      }
    }
  }
});
于 2013-11-05T15:57:08.160 回答
21

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);
于 2014-01-31T10:04:38.103 回答