如何捕获旧的复选框值并将其重新设置为取消事件

时间:2018-01-04 14:03:58

标签: javascript jquery razor checkbox

我有复选框和选项,可以使用“编辑”选项和“取消”选项来选中/取消选中。当我取消选中之前选中的值或反之亦然并点击取消事件时,复选框不会保留其原始值(选中)并显示选中。我希望点击取消时,复选框应显示原始值。这是我的javascript代码:

 function Cancel(Login, ID, IsBlock) {
        debugger;
        $("#chk" + ID).val(IsBlock);
        $("#chk" + ID).prop("disabled", true);
        document.getElementById("Edit " + ID).style.display = 'block';
        document.getElementById("Update " + ID).style.display = 'none';
        document.getElementById("Cancel " + ID).style.display = 'none';
    }

这是我的HTML

<a  href="javascript:void(0);" id='Edit @Model[i].ID' onclick="Edit(@Model[i].ID)">Edit</a>
                        <a href="javascript:void(0);" id='Update @Model[i].ID'   onclick="Update('@Model[i].Login','@Model[i].ID')" style="display:none">
                            Update</a> <a href="javascript:void(0);" id='Cancel @Model[i].ID'   onclick="Cancel('@Model[i].Login','@Model[i].ID','@Model[i].IsBlock')" style="display:none">
                                Cancel</a>

1 个答案:

答案 0 :(得分:0)

存储old state的{​​{1}}的一种方法是声明checkbox(在所有函数之外声明的变量)并在那里存储global variable

您将需要:

  • old state onchange event listener function,您只需将checkbox的{​​{1}}设置为old state checkbox }}

  • oppositenew state cancel function,您可以在其中检查revertchanges是否匹配,以及是否匹配{ {1}},否则为old state

  • current state将[{1}}的{​​{1}}存储到do nothing revert changes

代码:(运行底部的代码段)

(包括你的函数,一个全局变量和两个用于演示的函数)

&#13;
&#13;
global variable
&#13;
old state
&#13;
&#13;
&#13;