JS的if语句似乎不起作用

JS if statement doesn't seem to work

本文关键字:不起作用 语句 if JS      更新时间:2023-09-26

我有一个复选框,如果它被选中,我希望文本框是可编辑的。如果它仍然未选中,那么我希望文本框为只读。这是我的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/>