javascript - JS if 语句似乎不起作用

标签 javascript html checkbox readonly servicenow

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

关于javascript - JS if 语句似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39857845/

相关文章:

javascript - 如果超出父元素的高度,如何隐藏固定元素?

javascript - 仅显示选中复选框的文本区域,未选中时隐藏

javascript - document.formname.checkbox[0].checked 与 document.getElementById ('checkbox' ).checked

javascript - 检查是否选择了 optgroup 中的部分或全部选项

javascript - 使其可编辑后如何在内部输入中写入?

javascript - 显示更多按钮不适用于我的 table

用于网络脚本的 Python

javascript - 复选框,如果选中,则需要将其价格以 div 形式求和

javascript - 在每个数组元素后追加 '|'

javascript - 模板语言和 ajax 小部件