我试图通过取消选中复选框来清除单选按钮。我能够得到它的样本。但你有同样的设置在我的表格中不止一次。我想拥有可以在集合中使用的泛型方法。
有些人可以帮助我。这是我的代码。我想为此使用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/
答案 0 :(得分: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;
}
EDIT :::
添加了特定于复选框的此代码。
function resetRadioButtonValuesforCheckbox(checkbox) {
var inputItems = document.getElementsByTagName('input');
if(! checkbox.checked){
for (var i=0;i<inputItems.length;i++) {
inputItems[i].checked = false;
}
}
答案 1 :(得分:0)
此代码取消选中所有单选按钮
<script src="http://code.jquery.com/jquery-1.10.2.js" type="text/javascript"></script>
$("input[type=radio]").prop("checked", false);
此代码是jquery,因此要运行此代码,您需要包含jquery库。