Я пытаюсь переключить отображение между двумя div. Первый содержит выпадающее меню существующих торговых представителей. Второй содержит поле ввода текста для добавления нового торгового представителя. Я хочу, чтобы пользователь не видел оба элемента одновременно. Я не хочу, чтобы ни div отображался при первой загрузке страницы.
Работает правильно:
Сначала ни один из div не отображается.
Далее, div с ID = "repIfChoose" отображается, когда я нажимаю переключатель рядом с "Выбрать".
Не работает должным образом:
Div с ID = "repIfAdd" не отображается, когда я нажимаю переключатель рядом с "Добавить".
Как только div с ID = "repIfChoose" впервые отображается, ничего не происходит, когда я переключаюсь между переключателями впоследствии (то есть div repIfChoose не скрыт и div repIfAdd не отображается.)
Я знаю, что в JQuery могут быть более простые решения, но я бы предпочел сделать это в ванильном Javascript. Может ли кто-нибудь помочь мне решить две вышеуказанные ошибки и любые другие ошибки, которые вы можете заметить? Спасибо.
<!DOCTYPE html>
<html>
<head></head>
<body>
<!--Radio button to switch between choose and add sales representative (choose default)-->
Choose <input type="radio" onclick="repVisible();" id="chooseInput" name="repRadio">
<br><br> Add <input type="radio" onclick="repVisible();" id="addInput" name="repRadio">
<div class="form-group" id="repIfChoose" style="display:none">
<label>Choose Sales Representative</label>
<select name="SalesRep">
<option value="" disabled selected>Choose Sales Representative</option>
<option value="">Adam</option>
<option value="">Bill</option>
<option value="">Carl</option>
</select>
</div>
<div class="form-group" id="repIfAdd" style="display:none">
<label>Add Sales Representative</label>
<input type="text" placeholder="e.g. Alex Branson" name="SalesRep">
</div>
<script>
function repVisible() {
if (document.getElementById('chooseInput').checked) {
document.getElementById('repIfChoose').style.display = 'block';
document.getElementById('repifAdd').style.display = 'none';
}
if (document.getElementById('addInput').checked) {
document.getElementByID('repIfChoose').style.display = 'none';
document.getElementByID('repIfAdd').style.display = 'block';
}
}
</script>
</body>
</html>