JS if语句似乎不起作用

时间:2016-10-04 16:54:33

标签: 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似乎使文本框readOnly很好,但是当我确保选中复选框时,文本框仍然是readOnly。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

当复选框更改状态时,您需要使用事件处理程序

    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/>