复选框快速选择功能不正常

Checkbox rapid selection not functioning properly

本文关键字:不正常 功能 快速选择 复选框      更新时间:2023-09-26

我有一个复选框和文本框。当复选框被点击时,我分配500给文本框,当复选框未选中时,我做500-500,并分配0给文本框。我的逻辑工作很好,当我慢慢检查复选框。1.复选框第一次选择:文本框值为500.002.第二次取消选中复选框:文本框值为0.003.复选框第三次选择:文本框值为500.00

如果我选择/取消选择复选框迅速没有得到想要的结果。1.复选框第一次选择:文本框值为500.002.第二次取消选中复选框:文本框值为0.003.第三次选择复选框:文本框值为1000.00

<div>
<input type="text" id="txtAmount" name="txtAmount" /> <br />

<script type="text/javascript">
    function selectRec(chkRecord) {
        //debugger;
        $(chkRecord).prop('disabled', true);
        var dActualOrgAmount = $("#txtAmount").val();
        if (dActualOrgAmount == "" || dActualOrgAmount == '0.00')
            dActualOrgAmount = 0;
        if ($(chkRecord).prop('checked')) {
            dActualOrgAmount = eval(dActualOrgAmount) + eval(500);
            $("#txtAmount").val(eval(dActualOrgAmount).toFixed(2));
        }
        else {
            dActualOrgAmount = eval(dActualOrgAmount) - eval(500);
            $("#txtAmount").val(eval(dActualOrgAmount).toFixed(2));
        }
        $(chkRecord).prop('disabled', false);
    }
</script>

你可以试试这个

function selectRec(chkRecord) {
        //debugger;
        $(chkRecord).prop('disabled', true);
        var dActualOrgAmount = $("#txtAmount").val();
        var dGetAmount = 0;
  
        if (dActualOrgAmount == "" || dActualOrgAmount == '0.00')
            dActualOrgAmount = 0;
        if ($(chkRecord).prop('checked')) {
            
            dGetAmount = eval(dActualOrgAmount) + eval(500);
            $("#txtAmount").val(eval(dGetAmount).toFixed(2));
        }
        else {
           
            dGetAmount = eval(dActualOrgAmount) - eval(500);
            $("#txtAmount").val(eval(dGetAmount).toFixed(2));
        }
        $(chkRecord).prop('disabled', false);
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <input type="text" id="txtAmount" name="txtAmount" /> <br />
    <input type="checkbox" id="chkcheck" value="Click" onclick="selectRec(this)" name="Click" /> <br />
</div>