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

时间:2011-07-27 07:11:38

标签: javascript javascript-events checkbox onchange onkeypress

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

<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;
        }
    }

2 个答案:

答案 0 :(得分:0)

function enableCheckBox(id) {
    var myCheckbox = document.getElementById(id + "_cb");
    if(!myCheckbox.checked && document.getElementById(id).value) {
        myCheckbox.checked = true;
    }else
        myCheckbox.checked = false;
}

您可能还想重命名该函数,因为如果输入了某些内容它会检查自己,但如果输入为空则取消选中。

答案 1 :(得分:0)

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

function enableCheckBox(id) {
    var hasText = document.getElementById(id).value.length > 0;
    document.getElementById(id + "_cb").checked = hasText;
}
相关问题