смена радиокнопки только после подтверждения () возвращает true - PullRequest
0 голосов
/ 12 марта 2012

У меня есть набор радиокнопок на моем html-сайте.Когда пользователи меняют выбор, я показываю диалог через функцию подтверждения ('').Я просто хочу изменить выбор, если пользователь подтверждает изменение, в противном случае просто отмените событие.Моя проблема сейчас в том, что я получил событие только ПОСЛЕ изменения значений, и изменение уже сделано.Как я могу предотвратить это поведение?

Ответы [ 2 ]

5 голосов
/ 12 марта 2012
$('.rdio').click(function(){
 var cnfrm = confirm('Are you sure?');
 if(cnfrm != true)
{
 return false;
}

})​

живое демо : http://jsfiddle.net/cTzVg/

4 голосов
/ 12 марта 2012

Это нелегко, потому что в разных браузерах нет согласованности, в каком событии уместно делать то, что вам нужно. Как бы вы ни говорили из своих тегов, что используете jQuery, вот решение, использующее отслеживание состояния для возврата в зависимости от возврата вашей функции:

var currentradio= $("input[name='pick_up_point']:checked")[0];
$("input[name='pick_up_point']").change(function(event) {
    var newradio= $("input[name='pick_up_point']:checked")[0];

    if (newradio===currentradio)
        return;
    if (confirm('Your question here')) {
        currentradio= newradio;
    } else {
        currentradio.checked= true;
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...