SweetAlert2检测单选按钮选择

时间:2016-09-22 14:01:55

标签: javascript jquery sweetalert sweetalert2

我正在使用SweetAlert2 javascript库来显示弹出窗口。 SweetAlert2是SweetAlert的一个分支,不再维护。 SweetAlert2允许我添加像这样的单选按钮

// inputOptions can be an object or Promise
var inputOptions = new Promise(function(resolve) {
    resolve({
      '#ff0000': 'Red',
      '#00ff00': 'Green',
      '#0000ff': 'Blue'
    });
});

swal({
  title: 'Select color',
  input: 'radio',
  inputOptions: inputOptions,
  inputValidator: function(result) {
    return new Promise(function(resolve, reject) {
      if (result) {
        resolve();
      } else {
        reject('You need to select something!');
      }
    });
  }
}).then(function(result) {
  swal({
    type: 'success',
    html: 'You selected: ' + result
  });
})

SweetAlert2为收音机输入提供'swal2-radio'名称,如此

<input id="swal2-radio-1" type="radio" name="swal2-radio" value="3">

所以我尝试为这样的任何点击听swal2-radio:

$("input[name='swal2-radio']").on("click", function() {
var id = $('input[name=swal2-radio]:checked').val();
console.log('id: ' + id);
});

它应该打印到控制台,以便我知道它有效。

这是我到目前为止的代码: https://jsfiddle.net/ayx0fkz3/

我做错了什么或因为SweetAlert2的工作原理而无法正常工作?

1 个答案:

答案 0 :(得分:2)

您必须通过委托事件绑定与整个文档绑定事件。

BehaviorSubject

检查Fiddle Link