2016-09-22 41 views
1

私はSweetAlert2のjavascriptライブラリを使用してポップアップを表示しています。 SweetAlert2はもはや維持されていないSweetAlertのフォークです。 SweetAlert2はこの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この

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

のようなので、私はすべてのクリックに対してswal2ラジオをリッスンしようとすると、無線入力に「swal2ラジオ」名前を付けてのように私は、ラジオボタンを追加することができますこのように:

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

私はそれが働いていることを知っているようにコンソールに印刷する必要があります。ここで

は、私がこれまで持っているコードです: https://jsfiddle.net/ayx0fkz3/

は理由SweetAlert2がどのように動作するかの私が何か間違ったことか、これが動作しないのですか?

答えて

2

ドキュメント全体との委任イベントバインディングによってイベントをバインドする必要があります。

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

チェックFiddle Link

+0

はそんなにありがとう、私は私の自己によってこれを考え出したことはなかっただろう –

関連する問題