如何将HTML输入添加到甜蜜警报中?

问题描述 投票:6回答:2

我正在尝试使用甜蜜警报将单选按钮添加到对话框中,但我无法做到。以下是代码:

swal({
        title: "<small>Please select an reason to cancel this job !</small>",
        type: "warning",
        text:"<input type=\"radio\" name=\"reason\" value=\"male\">Reason 1<br><input type=\"radio\" name=\"reason\" value=\"female\">Reason 2<br><input type=\"radio\" name=\"reason\" value=\"female\">Other Reason",
        showCancelButton: true,
        confirmButtonColor: "#DD6B55",
        confirmButtonText: "Yes",
        cancelButtonText: "No",
        closeOnConfirm: false,
        closeOnCancel: false,
        html: true
    },
            function(isConfirm){
                if (isConfirm) {
                    swal("Result !","Job cancelled successfully.");
                } else {
                    swal("Cancelled  !", "Process aborted");
                }
            });
javascript html css sweetalert
2个回答
4
投票

默认的sweetalert样式表隐藏了警报中的所有输入字段,因此您必须恢复初始值:

.sweet-alert input {
   display: initial;
   width: auto;
   height: auto;
   margin: auto;
}

4
投票

SweetAlert2支持开箱即用的无线电输入:https://sweetalert2.github.io/#input-radio

Swal.fire({
  title: 'Select color',
  input: 'radio',
  inputOptions: {
    '#ff0000': 'Red',
    '#00ff00': 'Green',
    '#0000ff': 'Blue'
  },

  // validator is optional
  inputValidator: function(result) {
    if (!result) {
      return 'You need to select something!';
    }
  }
}).then(function(result) {
  if (result.value) {
    Swal.fire({
      type: 'success',
      html: 'You selected: ' + result.value
    });
  }
})
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>
© www.soinside.com 2019 - 2024. All rights reserved.