0

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

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

2 回答 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;
}

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

于 2011-07-27T07:14:42.327 回答
0

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

function enableCheckBox(id) {
    var hasText = document.getElementById(id).value.length > 0;
    document.getElementById(id + "_cb").checked = hasText;
}
于 2011-07-27T07:15:55.250 回答