[英]Show/hide drop down if a certain selection is made in previous drop down
我有一個表格。 我想根據單選按鈕的選擇禁用或啟用下拉菜單。 我需要在表單中多次執行此操作。 我是Java語言的新手,所以我真的不知道從哪里開始。 這是表格的一部分:
<p id="hospitalorientation"><label>Hospital Orientation:</label>
<div id='buttons'>
<label><input type="radio" name="hospital" /> Not Complete </label>
<label><input type="radio" name="hospital" /> Complete </label>
</div>
<div id="list1" style="display: none;">
<label>Month Complete:
<select>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
</label>
</div>
然后我基本上以表格的形式有幾個副本。
<p id="ppd"><label>PPD:</label>
<div id='buttons'>
<label><input type="radio" name="ppd" /> Not Complete </label>
<label><input type="radio" name="ppd" /> Complete </label>
</div>
<div id="list2" style="display: none;">
<label>Month Complete:
<select>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
現在我真的不知道從那里去。
您需要為您的單選框提供值,並添加它們的ID,例如“ rButtonOne”和“ rButtonTwo”
<input type="radio" id="rButtonOne" onclick="clicked(this);" value="0">
<input type="radio" id="rButtonTwo" onclick="clicked(this);" value="1">
然后用javascript
function clicked(obj)
{
if(obj.value == "1")
document.getElementById('id_of_select_box').disabled = 'disabled';
else if (obj.value == "0")
document.getElementById('id_of_select_box').disabled = '';
}
這是方法。
HTML
<p id="hospitalorientation"><label>Hospital Orientation:</label>
<div id='buttons'>
<label><input id="radio1" type="radio" name="hospital" /> Not Complete </label>
<label><input id="radio2" type="radio" name="hospital" /> Complete </label>
</div>
<div id="list1" style="display: none;">
<label>Month Complete:
<select>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
</label>
</div>
Javascript:
document.getElementById("radio1").onchange = function(){
if(this.checked == true){
document.getElementById("list1").style.visibility = "hidden";
document.getElementById("list1").style.display = "none";
}
};
document.getElementById("radio2").onchange = function(){
if(this.checked == true){
document.getElementById("list1").style.visibility = "visible";
document.getElementById("list1").style.display = "block";
}
};
工作示例: http : //jsfiddle.net/aSxXA/
這是一個更新,這是一個完整的html頁面,請注意body onload事件如何注冊eventHandlers,我認為當您嘗試注冊它們之前,文檔可能尚未加載
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type=text/javascript>
function registerEventHandlers()
{
document.getElementById("radio1").onchange = function(){
hideDiv(this,"list1")
};
document.getElementById("radio2").onchange = function(){
showDiv(this,"list1")
};
document.getElementById("radio3").onchange = function(){
hideDiv(this,"list2")
};
document.getElementById("radio4").onchange = function(){
showDiv(this,"list2")
};
}
function showDiv(targetElement,toggleElementId){
if (targetElement.checked == true) {
document.getElementById(toggleElementId).style.visibility = "visible";
document.getElementById(toggleElementId).style.display = "block";
}
}
function hideDiv(targetElement,toggleElementId){
if (targetElement.checked == true) {
document.getElementById(toggleElementId).style.visibility = "hidden";
document.getElementById(toggleElementId).style.display = "none";
}
}
</script>
</head>
<body onload="registerEventHandlers();">
<p id="hospitalorientation">
<label>
Hospital Orientation:
</label>
<div id='buttons'>
<label>
<input id="radio1" type="radio" name="hospital" /> Not Complete
</label>
<label>
<input id="radio2" type="radio" name="hospital" /> Complete
</label>
</div>
<div id="list1" style="display: none;">
<label>
Month Complete:
<select>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
</label>
</div>
<p id="ppd">
<label>
PPD:
</label>
<div id='buttons'>
<label>
<input id="radio3" type="radio" name="ppd" /> Not Complete
</label>
<label>
<input id="radio4" type="radio" name="ppd" /> Complete
</label>
</div>
<div id="list2" style="display: none;">
<label>
Month Complete:
<select>
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option>
</select>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.