<html>
<head>
<script type="text/javascript">
<!--
var selDisabled = cbsDisabled = false;
function setCheckboxState(disabledValue, formName) {
var cbs = document.forms[formName].getElementsByTagName('input');
for (var loop=0; loop<cbs.length; loop++) {
if (cbs[loop].type == 'checkbox') {
cbs[loop].disabled = disabledValue;
cbs[loop].checked = false;
}
}
}
function checkChanged(cbObj) {
var formName = cbObj.form.name;
var cbs = document.forms[formName].getElementsByTagName('input');
var anyChecked = false;
for (var loop=0; loop<cbs.length; loop++) {
if (cbs[loop].type == 'checkbox' && cbs[loop].checked) {
anyChecked = true;
break;
}
}
if (selDisabled && !anyChecked) {
selDisabled = false;
document.forms[formName].elements['mySelect'].disabled = false;
document.forms[formName].elements['mySelect'].selectIndex = 0;
} else {
selDisabled = true;
document.forms[formName].elements['mySelect'].disabled = true;
}
}
function selChanged(selValue, formName) {
if (selValue == 'opt0' && cbsDisabled) {
cbsDisabled = false;
setCheckboxState(false, formName);
} else {
cbsDisabled = true;
setCheckboxState(true, formName);
}
}
//-->
</script>
</head>
<body>
<form name="myForm1">
<input type="checkbox" name="myCheck1" onclick="checkChanged(this);" />Checkbox 1<br />
<input type="checkbox" name="myCheck2" onclick="checkChanged(this);" />Checkbox 2<br />
<select name="mySelect" onchange="selChanged(this.value, this.form.name);">
<option value="opt0" selected="selected"></option>
<option value="opt1">Option 1</option>
<option value="opt2">Option 2</option>
</select>
</form>
<form name="myForm2">
<input type="checkbox" name="myCheck1" onclick="checkChanged(this);" />Checkbox 1<br />
<input type="checkbox" name="myCheck2" onclick="checkChanged(this);" />Checkbox 2<br />
<select name="mySelect" onchange="selChanged(this.value, this.form.name);">
<option value="opt0" selected="selected"></option>
<option value="opt1">Option 1</option>
<option value="opt2">Option 2</option>
</select>
</form>
</body>
</html>