仅在confirm()返回true后单选按钮更改

时间:2012-03-12 10:51:39

标签: javascript jquery html jsf

我的html网站上有一组单选按钮。当用户更改选择时,我通过确认('')功能显示对话框。我只想在用户确认更改时更改选择 - 否则只需取消该事件。我现在的问题是,在值已经更改并且更改已经完成之后,我才会收到一个事件。我该如何防止这种行为?

2 个答案:

答案 0 :(得分:5)

$('.rdio').click(function(){
 var cnfrm = confirm('Are you sure?');
 if(cnfrm != true)
{
 return false;
}

})​

现场演示http://jsfiddle.net/cTzVg/

答案 1 :(得分:4)

这并不容易,因为浏览器之间没有一致性,事件适合做您需要做的事情。但是你从你的标签中说你正在使用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;
    }
});