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

时间:2015-09-28 03:26:03

标签: php ajax

我在输入字段中使用了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上显示语法错误

1 个答案:

答案 0 :(得分:0)

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

尝试以下代码。如果在调用load函数时没有选中该框,这将清除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,而在取消选中此框时则不会进行。