1

我试图使用复选框取消选中来清除单选按钮。我能够得到它的样品。但是在我的表格中,您不止一次有相同的设置。我想要一个可以跨集合使用的通用方法。

可以帮帮我。这是我的代码。我想为此使用java脚本。

<html>
<head>
<script language="JavaScript">

function loopForm(form) {
    var cbResults = 'Checkboxes: ';
    var radioResults = 'Radio buttons: ';
    for (var i = 0; i < form.elements.length; i++ ) {
        if (form.elements[i].type == 'checkbox') {
            if (form.elements[i].checked == true) {
                cbResults += form.elements[i].value + ' ';
            }
        }
        if (form.elements[i].type == 'radio') {
            if (form.elements[i].checked == true) {
                radioResults += form.elements[i].value + ' ';
            }
        }
    }
    document.getElementById("cbResults").innerHTML = cbResults;
    document.getElementById("radioResults").innerHTML = radioResults;
}

function loopForm123(form) {

    for (var i = 0; i < form.elements.length; i++ ) {

        if (form.elements[i].type == 'checkbox') {
            if (form.elements[i].checked == true) {
                alert('insde for loop1');
                form.elements[i].checked == false;
                alert('insde for loop3');
            }
        }
        if (form.elements[i].type == 'radio') {
            if (form.elements[i].checked == true) {
                alert('insde for loop2');
                form.elements[i].checked == false;
                alert('insde for loop4');
            }
        }
    }

}

</script>
<body>
<form name="thisForm">
I like to program in:<p>
<input type="checkbox" value="PHP" >PHP<p>
<input type="checkbox" value="Perl">Perl<p>
<input type="checkbox" value="Ruby">Ruby<p>
<input type="checkbox" value="ASP">ASP<p>
<hr>
I like to eat:<p>
<input type="radio" value="Snickers" name="candy" >Snickers<p>
<input type="radio" value="Hershey's" name="candy">Hershey's<p>
<input type="radio" value="M&M's" name="candy">M&M's<p>
<input type="radio" value="Nerds" name="candy">Nerds<p>
<hr>
I like to drink:<p>
<input type="radio" value="Coke" name="drink" >Coke<p>
<input type="radio" value="Gatorade" name="drink">Gatorade<p>
<input type="radio" value="Pepsi" name="drink">Pepsi<p>
<input type="radio" value="Milk" name="drink">Milk<p>
<br>
<input type="checkbox" value="Submit" onclick="loopForm123(document.thisForm);"> 
</form>
<p>
<div id="cbResults"></div>
<div id="radioResults"></div>
</body>
</html>

JSFiddle:http: //jsfiddle.net/zzrVN/

4

2 回答 2

0

为什么不能使用重置按钮来清除表单?

<input type="reset" value="Reset Form" />

但是要回答您的问题,如果您能够使用 jQuery,那么您可以很容易地做到这一点:

jQuery方法:http: //jsfiddle.net/zzrVN/2/

$(document).ready( function() {
    $('#clearCheckboxes').click( function() {
        $('[name="thisForm"] input:checkbox').removeAttr('checked');
        $('[name="thisForm"] input:radio').removeAttr('checked');
    });
});

要使用 jQuery,您只需在文档中添加一个脚本标签:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

但是,如果您不想使用 jQuery,那么纯 JavaScript 解决方案将类似于:

var inputItems = document.getElementsByTagName('input');
for (var i=0;i<inputItems.length;i++) {
        inputItems[i].checked = false;
}

编辑:::

添加了此代码特定于复选框。

function resetRadioButtonValuesforCheckbox(checkbox) {
        var inputItems = document.getElementsByTagName('input');
        if(! checkbox.checked){
        for (var i=0;i<inputItems.length;i++) {
                inputItems[i].checked = false;
        }
        }
于 2013-08-23T09:03:29.190 回答
0

此代码取消选中所有单选按钮

<script src="http://code.jquery.com/jquery-1.10.2.js" type="text/javascript"></script>

$("input[type=radio]").prop("checked", false);

此代码是 jquery 的,因此要运行此代码,您需要包含 jquery 库。

于 2013-08-23T09:05:49.540 回答