[英]Enable/Disable selectbox on radiobutton check
选择第一个单选按钮时,我需要所有三个复选框进行检查和禁用。
选择第二个或第三个单选按钮other_1
,我需要三个复选框取消选中并再次启用。
代码(不起作用):
function validate_Days() {
var noOfDays = 0;
if (document.classic.r.value = "3daypass") {
noOfDays = 3;
}
if (document.classic.r.value = "2daypass") {
noOfDays = 2;
}
if (document.classic.r.value = "1daypass") {
noOfDays = 1;
}
if (noOfDays == 3) {
document.getElementById('cb1').checked = true;
document.getElementById('cb2').checked = true;
document.getElementById('cb3').checked = true;
}
else if (noOfDays == 2) {
document.getElementById('cb1').checked = false;
document.getElementById('cb2').checked = false;
document.getElementById('cb3').checked = false;
}
else if (noOfDays == 1) {
document.getElementById('cb1').checked = false;
document.getElementById('cb2').checked = false;
document.getElementById('cb3').checked = false;
}
}
编辑:删除禁用并使用更多有用的名称/值
我不了解代码在做什么,但是这是我将如何检查和取消选中复选框的方法。 我还不明白为什么在选中它们时将其禁用-禁用的控件无法成功执行,因此在提交表单时不会将其发布到服务器。
<script>
function getRadioValue(radioSet) {
for (var i=0, iLen=radioSet.length; i<iLen; i++) {
if (radioSet[i].checked) {
return radioSet[i].value;
}
}
}
function updateRadios(el) {
var form = el.form;
var checked = getRadioValue(form.rb) == '3'? true : false;
form.r1.checked = checked;
form.r2.checked = checked;
form.r3.checked = checked;
}
</script>
<form>
<fieldset onclick="updateRadios(this)">
<legend>Radio buttons</legend>
<input type="radio" value="1" name="rb"> 1<br>
<input type="radio" value="2" name="rb"> 2<br>
<input type="radio" value="3" name="rb"> 3<br>
</fieldset>
<fieldset>
<legend>Checkboxes</legend>
<input type="checkbox" value="1" name="r1"> 1<br>
<input type="checkbox" value="2" name="r2"> 2<br>
<input type="checkbox" value="3" name="r3"> 3<br>
</fieldset>
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.