JS if 语句似乎不起作用

JS if statement doesn't seem to work

我有一个复选框,如果选中,我希望文本框可以编辑。如果它保持未选中状态,那么我希望文本框为只读。这是我的 JS:

if (document.getElementById('itemize').checked==false) {
    document.getElementById('budget_1').readOnly = true;
} else  {
    document.getElementById('budget_1').readOnly = false;
     }  

我的 HTML 复选框:

<input type="checkbox" id="itemize" style="width: 20px; height: 20px;" />

JS 似乎让文本框只读就好了,但是当我确保复选框被选中时,文本框仍然是只读的。有什么建议吗?

您需要使用事件处理程序来 运行 当复选框改变状态时

    var 
       budget_1 = document.getElementById('budget_1'),
       itemize = document.getElementById('itemize');
     
    itemize.addEventListener("change", readonly);

    function readonly(){
        if (itemize.checked==false) {
            budget_1.readOnly = true;
        } else {
           budget_1.readOnly = false;
        }  
    }
<input type="checkbox" id="itemize"/>
<input type="text" id="budget_1" readonly/>