拦截复选框单击以确认更改

时间:2011-05-10 03:39:36

标签: jquery checkbox click

我有一个复选框,一旦点击它我就会提交一个AJAX请求来更新字段。但是,首先我要致电confirm以确保这是他们想要的。

这不起作用:

$(".mycheckbox")
    .live("click",
        function(){
            if(!confirm("Sure about that?")){ return false; }
            $.post($(this.form).attr("action")+".js",
                   $(this).serialize()+"&_method=put",
                   null, 
                   "script");
        }
    )

2 个答案:

答案 0 :(得分:3)

而不是return false

function(ev){
    if(!confirm("Sure about that?")){
        ev.preventDefault();
        return;
    }
    ...
}

答案 1 :(得分:0)

你只需要在帖子中包装你的确认:

$(".mycheckbox")
    .live("click",
        function(){
            if( confirm("Sure about that?")){ 
                  $.post($(this.form).attr("action")+".js",
                   $(this).serialize()+"&_method=put",
                   null, 
                   "script");
             }
        }
    )