Да, я пытался найти ответ на эту проблему и нашел много похожих вопросов, но ни один из них, похоже, не помог мне.
У меня есть выпадающий список с несколькими опциями, и когда пользователь выбирает одну опцию, появляется другой выпадающий список с правильными вариантами.Да, это была простая часть, но мне нужно отправить выбранные опции на сервер, и это сложная часть для меня.Я создал два разных выпадающих списка, которые появляются после того, как пользователь выбрал один вариант из «основного» выпадающего списка.Проблема в том, что правильные значения отправляются на сервер только из первого всплывающего списка.Если я выберу значение из всплывающего 2-го списка, первая опция из 1-го списка будет отправлена на сервер.
Вот мой код:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.hiddenMenu {display: none;}
.visibleMenu {display: inline;}
</style>
<script type="text/javascript">
var lastDiv = "";
function showDiv(divName) {
// hide last div
if (lastDiv) {
document.getElementById(lastDiv).className = "hiddenMenu";
}
//if value of the box is not nothing and an object with that name exists, then change the class
if (divName && document.getElementById(divName)) {
document.getElementById(divName).className = "visibleMenu";
lastDiv = divName;
}
}
</script>
</head>
<body>
<form action="http://url.here" method="post" enctype="multipart/form-data">
<label for="shirttype">T-shirt </label>
<select name="category" id="shirttype" onchange="showDiv(this.value);">
<option value="">Choose type…</option>
<option value="female">Female</option>
<option value="male">Male</option>
</select>
<br/>
<p id="female" class="hiddenMenu">
<label for="shirtsizefemale">Size </label>
<select name="subjectCategory" id="shirtsizefemale">
<option value="femaleXS">XS</option>
<option value="femaleS">S</option>
</select>
</p>
<p id="male" class="hiddenMenu">
<label for="shirtsizemale">Size </label>
<select name="subjectCategory" id="shirtsizemale">
<option value="maleXS">XS</option>
<option value="maleS">S</option>
</select>
</p>
<br/>
<input type="submit" value="Upload">
</form>
</body>
</html>
Итак, если я выберу мужской S длябудь моей рубашкой.Я получаю значение "femaleXS" на сервере.Но если я выберу женский S в качестве рубашки, значение будет правильно отправлено на сервер.Только значение из 1-го всплывающего списка отправляется на сервер правильно.
Хорошо, поэтому я решил создать только один всплывающий список, и в этом списке были бы все параметры.Я бы просто скрыл неправильные варианты в зависимости от того, какой тип рубашки выбрал пользователь.Проблема в том, что у меня закончились навыки JS :) Этот код JS, который я использую, я получил от здесь .
Помогите мне.Я думаю, что один выпадающий список со скрытыми значениями будет лучшим выбором, но я просто не знаю, как это сделать: P