如何在未选中时从复选框中删除值


How to remove value from checkbox when unchecked

我在输入字段中使用了onclick方法来加载函数

<td>&nbsp;<input type="checkbox" name="checkbox1" onclick="load();" value="Bike">Include previous service terms</td> 

函数

 <script type ="text/javascript">
        function load() {
            if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
            } else {
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
            }
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById('show').innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open('GET','include.inc.php', true);
            xmlhttp.send();
        }   
    </script>

然而,我不知道如何删除值显示当我取消复选框。我已经尝试了以前问过的问题的答案,但它显示我的NetBeans上的语法错误

由于您在这里提供了一些XHR代码,我假设您的意思是如何在框未选中时清除show元素。如果这个假设不正确,请纠正我。

试试下面的代码。当调用load函数时,如果box没有被选中,这将清除innerHTML元素。

function load() {
            if(!document.getElementById('checkbox1').checked){
                return document.getElementById('show').innerHTML='';
            }
            if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
            } else {
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
            }
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById('show').innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open('GET','include.inc.php', true);
            xmlhttp.send();
        }
<td>&nbsp;<input type="checkbox" id='checkbox1' name="checkbox1" onclick="load();" value="Bike">Include previous service terms</td>
<div id='show'>I have text</div>

在上面的示例中,您可以在控制台日志中看到,当框被选中时生成XHR(当然也会失败),而当框未被选中时没有生成XHR。