1

因此,一旦用户开始在文本字段中输入,我有一些代码会检查复选框,但我无法取消选中用户是否决定删除他或她开始输入的所有内容并将文本字段留空。有什么帮助吗?谢谢!

<html>
<head> 
 <script type="text/javascript">
    function checkvalue(val)
    {
        if(val.value == '')
            document.getElementById('productCB').checked="false"
        else
            document.getElementById('productCB').checked="true"
    }
 </script>
</head>
<body>
  <g:checkBox id="productCB" value="searchProduct" /> Product:
  <g:textField id="productID" placeholder="Enter product here..." onkeypress="checkvalue(this)" />
</body>
</html>
4

1 回答 1

2

false并且true是布尔值,而不是字符串,因此仅检查与零比较的值长度将给出相同的结果,即布尔值。

您还应该为此使用 onkeyup 事件:

<html>
<head> 
 <script type="text/javascript">
    function checkvalue(val) {
        document.getElementById('productCB').checked = val.value.trim().length > 0;
    }
 </script>
</head>
<body>
  <input type="checkBox" id="productCB" value="searchProduct" /> Product:
  <input type="text" id="productID" placeholder="Enter product here..." onkeyup="checkvalue(this)" />
</body>
</html>

小提琴

于 2013-07-29T22:01:47.403 回答