【发布时间】:2020-01-03 20:02:43
【问题描述】:
所以如果用户从选择下拉列表中选择特定选项值,我会尝试显示一个 div。例如,如果用户在选择框中选择“trade”,那么带有公司名称的 div 应该出现,而包含“first name and last name”的 div 应该消失。如果用户在选择框中选择“客户”,则相反的情况会发生。这是我的代码
Javascript
var custDetails = document.getElementById('retCustDetails');
var tradeDetails = document.getElementById('tradeCustDetails');
var SelectMenu = document.getElementById('makeBooking');
if (makeBooking.value == trd) {
document.getElementById('tradeDetails').style.display = 'block';
document.getElementById('custDetails').style.display = 'none';
}
else {
document.getElementById('custDetails').style.display = 'block';
}
HTML
<section id="makeBooking">
<h2>Make booking</h2>
Your details
Customer Type:
<select name="customerType">
<option value="">Customer Type?</option>
<option value="ret">Customer</option>
<option value="trd">Trade</option>
</select>
<div id="retCustDetails" class="custDetails">
Forename <input type="text" name="forename">
Surname <input type="text" name="surname">
</div>
<div id="tradeCustDetails" class="custDetails" style="visibility:hidden">
Company Name <input type="text" name="companyName">
</div>
【问题讨论】:
-
您的更改或输入事件处理程序在哪里?
-
如上所述,您需要一个 onchange 处理程序,并且您的代码应该在一个函数中,并确保您正确比较了您的字符串,例如应该是 makeBooking.value === "trd"而且我不知道 makeBooking 是什么所以你这里还有其他问题=)
标签: javascript html