当用户删除文本框中的文本时如何取消选中复选框?

问题描述 投票:0回答:2

我具有以下代码,可以在用户按下任意键时选中一个复选框。但是,我的要求是,当用户删除他在文本框中输入的文本时,请取消选中该复选框。请建议我该怎么做?

<input type="text" id="search" name="mysearch" 
onkeypress="enableCheckBox('search')"/>
<input type="checkBox" id="search_cb"
name="search_cb"/>

function enableCheckBox(id) {
        var myCheckbox = document.getElementById(id + "_cb");
        if(!myCheckbox.checked) {
            myCheckbox.checked = true;
        }
    }
javascript checkbox dom-events onchange onkeypress
2个回答
0
投票
function enableCheckBox(id) {
    var myCheckbox = document.getElementById(id + "_cb");
    if(!myCheckbox.checked && document.getElementById(id).value) {
        myCheckbox.checked = true;
    }else
        myCheckbox.checked = false;
}

您可能还想重命名该函数,因为它将检查自身是否键入了某些内容,但是请不要检查输入是否为空。


0
投票

您可以尝试更改处理程序以检查文本输入中是否包含任何文本。

function enableCheckBox(id) {
    var hasText = document.getElementById(id).value.length > 0;
    document.getElementById(id + "_cb").checked = hasText;
}
© www.soinside.com 2019 - 2024. All rights reserved.