复选框确认消息 - 如果为false则保持检查状态

ben*_*c_b 2 html javascript jquery

我正在尝试在用户尝试取消选择选项时添加JavaScript确认消息.

如果用户在确认屏幕上选择取消,则复选框应保持勾选状态.我遇到的问题是,即使我返回false,复选框也会被取消选中.

代码示例可以在这里找到http://jsfiddle.net/Amjzv/

HTML

<div class="ServiceDesc Alternate">    
    <span class="expandable">
        <input id="ctl01_chk" type="checkbox" name="ctl01$chk" checked="checked">
    </span>                
</div>?
Run Code Online (Sandbox Code Playgroud)

JQuery的

$(document).ready(function () {
        //each load to persist state
        $('.expandable').each(function () {
            ToggleCheckboxes($(this),false);
        });
        $('.expandable').click(function () {
            ToggleCheckboxes($(this),true);
        });
    });
    //toggle child checkbox show/hide
    function ToggleCheckboxes(checkboxSpan, showConfirm) {
        if (checkboxSpan.find(':checked').length > 0) {
            checkboxSpan.parent().find('.indent').show();
        }
        else {
            if (showConfirm) {
                var answer = confirm("Are you sure?");
                if (answer) {
                    checkboxSpan.parent().find('.indent').hide();
                }
                else {
                    return false;
                }
            }
            else {checkboxSpan.parent().find('.indent').hide();}
        } 
    }?
Run Code Online (Sandbox Code Playgroud)

Sta*_*arx 5

最简单的方法

$("#ctl01_chk").click(function() {
    if(confirm("Are you sure?")) { 
           // continue;
    } else { 
       return false;
    } 
});
Run Code Online (Sandbox Code Playgroud)

演示