Я пытаюсь создать два поля для выбора и после выбора какой-либо опции в первом, некоторые параметры во втором должны быть скрыты. Я почти там, кроме факта, что мой скрипт не может найти определенную опцию из первого поля select, но когда я ставлю такую опцию в первую, она работает, но только с первой, поэтому бесполезно. Мне нужно, чтобы скрыть параметры во втором поле выбора в соответствии с параметром, выбранным в первом.Два поля выбора, зависящие друг от друга
Что делает все это труднее, так это то, что я не могу добавить какие-либо классы или идентификаторы или что-то на самом деле здесь.
Я думаю, что я сделал некоторую ошибку, которая состоит в том, как я рассказываю сценарию, какой элемент должен редактировать, но я понятия не имею, как писать его по-другому.
HTML
<select name="NameOne">
<option value="First">Lorem Ipsum1</option>
<option value="Second">Lorem Ipsum2</option>
<option value="Third">Lorem Ipsum3</option>
<option value="CD">Dolor2</option>
</select>
<select name="NameTwo">
<option value="AB">Dolor1</option>
<option value="CD">Dolor2</option>
<option value="EF">Dolor3</option>
</select>
JS
$("select").change(function(){
if($(this).val() == "Second") {
$('option[value="CD"]', this).addClass('hidden');
} else {
$('option[value="CD"]', this).removeClass('hidden');
}
});
CSS
.hidden {
display: none
}
Пожалуйста, помогите.
почему вы не можете добавлять классы или идентификаторы? – depperm
есть 2 неправильных подхода в вашем коде.1. $ ('Option [value = "CD"]', this) ==> НЕПРАВИЛЬНЫЙ ПОДХОД. Потому что, используя это, вы не можете отделять опции от полей выбора. Он вернет опции из обоих полей выбора. Фактически только оба параметра содержимого страницы
2. $ («select») также неверны ==>, потому что он выбирает оба окна выбора не только firs one. Но согласно вашему требованию, достаточно рассмотреть коробку выбора. – Sanka