2016-09-22 5 views
1

팝업을 표시하기 위해 SweetAlert2 javascript 라이브러리를 사용하고 있습니다. SweetAlert2는 더 이상 유지되지 않은 SweetAlert 포크입니다. SweetAlert2 날 그래서 모든 클릭에 대한 swal2 라디오를 청취하려고이SweetAlert2 감지 라디오 버튼 선택

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

처럼, 라디오 입력이 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 
    }); 
}) 

'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

내가 내 스스로가이 문제를 파악하지 못했을 것입니다, 당신이 너무 감사합니다 –