首页 > 解决方案 > 在 JS + HTML 中按下时,如何制作相互禁用/启用的按钮?

问题描述

我正在尝试制作一个复利计算器(我从 JS 开始),我正在尝试制作启用另一个的按钮,并在按下时禁用自身。

function select_button(button) {
    var buttonId= button.id;
    
    if(buttonId="Deposit") {
        document.getElementById("Withdraw").disabled = false;
        document.getElementById("Deposit").disabled = true;
    }
    if(buttonId="Withdraw") {
        document.getElementById("Withdraw").disabled = true;
        document.getElementById("Deposit").disabled = false;
    }
};
<button id="Deposit" disabled=true type="button" onclick="select_button(Deposit);"> Deposit </button> <button id="Withdraw" type="button" onclick="select_button(Withdraw);">Withdraw</button>

这是我当前的代码。出于某种原因,当我按下提款时,它按预期运行。但是当我按下存款时,它会禁用提款并启用自己。

标签: javascripthtml

解决方案


=是赋值运算符,您至少希望在比较 JavaScript 中的事物时使用,==但最好使用它。===

你想做的是:

function select_button(button) {
    var buttonId= button.id;
    
    if(buttonId === "Deposit") {
        document.getElementById("Withdraw").disabled = false;
        document.getElementById("Deposit").disabled = true;
    }
    if(buttonId === "Withdraw") {
        document.getElementById("Withdraw").disabled = true;
        document.getElementById("Deposit").disabled = false;
    }
};

推荐阅读