所以我有一些代码可以在用户开始在文本字段中输入后检查复选框,但如果用户决定删除他或她开始输入的所有内容并将文本字段留空,则无法取消选中。有帮助吗?谢谢!
<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>
答案 0 :(得分: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>