如何在单击“取消”时将复选框设置为未选中?

How can I set a checkbox to unchecked when I click cancel

本文关键字:设置 复选框 单击 取消      更新时间:2023-09-26

我有一个显示自定义警报的bootbox脚本。当单击取消时,我需要触发警报的复选框回到未选中状态。

当选中

时,这是我的复选框
<div class="checkbox">
     <label>
     <input type="checkbox" id="enroll-deposit" checked="" data-original-title="" title="" value="True"> I am not enrolling in Direct Deposit
     </label>
</div>
这是我的bootbox脚本在点击 时触发
$(document).on("click", "#enroll-deposit", function(e) {
    var val = $(this).val();
    if (val == "True") {
        var url = "@Url.Action("waivetask", "OBProcess" , new { id=ViewBag.DocId, tid=ViewBag.TaskId })";
        var desc = "Direct Deposit";
        bootbox.dialog({
            message: "Are you sure you want to waive " + "<strong>" + desc + "</strong>",
            title: "Waive Direct Deposit",
            buttons: {
                main: {
                    label: "Cancel",
                    className: "btn-default",
                    callback: function() {
                        //NOT SURE WHAT TO PUT
                    }
                },
                danger: {
                    label: "Waive and Move On to Next Task",
                    className: "btn-danger",
                    callback: function() {
                        window.location.href = url;
                    }
                }
            }
        });
    }
});

我不知道当用户单击取消按钮时该怎么办。

还有另一种取消选中的方法:

$('input[type=checkbox]').prop('checked', false);

而不是使用:

var val = $(this).val();

你可以使用:

var isChecked = $(this).is(':checked');  
也许最好这样重构你的代码:
$(document).on("click", "#enroll-deposit", function() {
    var isChecked = $(this).is(':checked');    
    if (isChecked) {
        var url = '@Url.Action("waivetask", "OBProcess" , new { id=ViewBag.DocId, tid=ViewBag.TaskId })';
        bootbox.dialog({
            message: "Are you sure you want to waive <strong> Direct Deposit </strong>",
            title: "Waive Direct Deposit",
            buttons: {
                main: {
                    label: "Cancel",
                    className: "btn-default",
                    callback: function() {
                        //NOT SURE WHAT TO PUT
                    }
                },
                danger: {
                    label: "Waive and Move On to Next Task",
                    className: "btn-danger",
                    callback: function() {
                        window.location.href = url;
                    }
                }
            }
        });
    }
});

希望对您有所帮助。

$('input:checkbox').removeAttr('checked');

write this

$("#enroll-deposit").prop('checked',false);

Checked不是属性。它实际上是一个属性。看起来你用的是jQuery所以在else语句中你可以输入

$(this).prop("checked",false);