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

发布于 2024-11-26 10:22:31 字数 436 浏览 1 评论 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;
        }
    }

I have following code to check a checkbox when user presses any key. However my requirement is to uncheck the checkbox when the user deletes the text entered by him in the text box. Please suggest how do I do this?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

红焚 2024-12-03 10:22:31
function enableCheckBox(id) {
    var myCheckbox = document.getElementById(id + "_cb");
    if(!myCheckbox.checked && document.getElementById(id).value) {
        myCheckbox.checked = true;
    }else
        myCheckbox.checked = false;
}

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

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

You might want to rename the function as well since it's going to check itself if something is typed, but uncheck if the input is empty.

渡你暖光 2024-12-03 10:22:31

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

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

You might try changing your handler to check whether the text input has any text in it.

function enableCheckBox(id) {
    var hasText = document.getElementById(id).value.length > 0;
    document.getElementById(id + "_cb").checked = hasText;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文