使用带有Sweet Alert 2的Bootstrap DatetimePicker - 显示日历超过警报

时间:2017-08-22 19:34:00

标签: jquery twitter-bootstrap bootstrap-datetimepicker sweetalert2

我正在使用带有表单的SweetAlert2对话框。我想使用Bootstrap DateTimePicker小部件。

日历小部件弹出窗口显示在SweetAlert窗口中,而不是在其顶部。这使警报扩展和收缩 - 您必须在警报内滚动才能看到日历。所需的行为是日历显示为主页面的子页面并显示在警报的顶部。

https://jsfiddle.net/ghr2bwoc/13/

  swal({
    title: 'Date picker',
    html: '<input id="datepicker">',
    showConfirmButton: false,
    onOpen: function() {
        $('#datepicker').datetimepicker({});
    },

  }).then(function(result) {

  });

2 个答案:

答案 0 :(得分:7)

在样式表中创建一个额外的类:

.swal2-overflow {
  overflow-x: visible;
  overflow-y: visible;
}

使用 customClass 属性将此新类添加到甜蜜警报代码中。

swal({
  title: 'Date picker',
  html: '<input id="datepicker">',
  showConfirmButton: false,
  customClass: 'swal2-overflow',
  onOpen: function() {
      $('#datepicker').datetimepicker({});
  },

}).then(function(result) {

});

答案 1 :(得分:0)

如果您和我一样,并且不希望当日期时间选择器出现时,sweetalert的高度会自动调整大小。在@ taekwondoalex的答案中添加最大高度和最大宽度(max-height: 550px !important;min-height:550px !important;)。

所以仍然像这样将自定义类添加到sweetalert;

swal({
  title: 'Date picker',
  html: '<input id="datepicker">',
  showConfirmButton: false,
  customClass: 'custom-swal-class',
  onOpen: function() {
      $('#datepicker').datetimepicker({});
  },

}).then(function(result) {

});

然后添加到您的css并更改像素高度以匹配您想要的高度,例如550px

.custom-swal-class {
    overflow-x: visible;
    overflow-y: visible;
    max-height: 550px !important;
    min-height: 550px !important;
}