Спасибо, что прочитали мой вопрос ...; -)
Я создаю сайт Wordpress, который использует пользовательские сообщения и пользовательские поля для отображения инвентаря автомобиля.Я бы хотел, чтобы посетитель мог фильтровать сообщения по таксономиям ...
Плагин, который я использую для детализации доступных таксономий (запросов нескольких таксономий), выводит все варианты, которые он может найти для этой конкретной таксономии, в выпадающийlist.
Чтобы раскрывающийся список (например, модель) не становился слишком длинным, я хотел бы отображать только те параметры, которые основаны на предыдущем выборе.
Поэтому, когда посетитель выбирает автомобиль= Автомобили, раскрывающийся список для производителя должен отображать только производители автомобилей.Когда посетитель выбирает производителя, то есть Ford, в следующем раскрывающемся списке для выбора модели должны отображаться только модели, доступные для предыдущего выбранного производителя, в этом случае Ford ...
Метки и значения уровня 0 donНе меняется, но когда я добавляю или меняю производителя или модель, уровень 1 и / или уровень 2 меняется.
Не так важно, но, если возможно, было бы неплохо удалить все ненужноеотображаться в «фильтрованном» раскрывающемся списке.В случае выпадающего списка Производитель уровень 0 и все пробелы не нужны.В случае раскрывающегося списка Модель, уровень 0, уровень 1 и все пробелы не нужны после выбора.
Вот пример того, как выглядит HTML-код, сгенерированный плагином:
<label for="qmt-vehicle">Vehicle:</label>
<select id="qmt-vehicle" name="vehicle">
<option></option>
<option class="level-0" value="cars" >Cars</option>
<option class="level-0" value="motorcycles" >Motorcycles</option>
</select>
<label for="qmt-manufacturer">Manufacturer:</label>
<select id="qmt-manufacturer" name="manufacturer">
<option></option>
<option class="level-0" value="cars" >Cars</option>
<option class="level-1" value="ford" > Ford</option>
<option class="level-1" value="chevrolet" > Chevrolet</option>
<option class="level-0" value="motorcycles" >Motorcycles</option>
<option class="level-1" value="honda" > Honda</option>
<option class="level-1" value="yamaha" > Yamaha</option>
</select>
<label for="qmt-model">Model:</label>
<select id="qmt-model" name="model">
<option></option>
<option class="level-0" value="cars" >Cars</option>
<option class="level-1" value="ford" > Ford</option>
<option class="level-2" value="model-1-ford" > Model 1</option>
<option class="level-2" value="model-2-ford" > Model 2</option>
<option class="level-2" value="model-3-ford" > Model 3</option>
<option class="level-1" value="chevrolet" > Chevrolet</option>
<option class="level-2" value="model-1-chevrolet" > Model 1</option>
<option class="level-2" value="model-2-chevrolet" > Model 2</option>
<option class="level-2" value="model-3-chevrolet" > Model 3</option>
<option class="level-0" value="motoren" >Motorcycles</option>
<option class="level-1" value="honda" > Honda</option>
<option class="level-2" value="model-1-honda" > Model 1</option>
<option class="level-2" value="model-2-honda" > Model 2</option>
<option class="level-2" value="model-3-honda" > Model 3</option>
<option class="level-1" value="yamaha" > Yamaha</option>
<option class="level-2" value="model-1-yamaha" > Model 1</option>
<option class="level-2" value="model-2-yamaha" > Model 2</option>
<option class="level-2" value="model-3-yamaha" > Model 3</option>
</select>
Я могу сделать несколько простых вещей с Javascript, но это не так просто для меня, извините...; -)
Может кто-нибудь помочь мне разобраться, как это сделать в Javascript / JQuery?Кросс-браузер был бы хорош!
* РЕДАКТИРОВАТЬ * HTML-код показывает код, отправленный в браузер.Поскольку я не могу так сильно изменить плагин, я бы хотел "манипулировать" этим кодом, чтобы он работал так, как я хочу ... ;-) Единственные исправленные вещи: метки для выпадающих списков и значения для всехЭлементы класса = "level-0".
Таким образом, "Автомобили" и "Мотоциклы" всегда останутся и никогда не изменятся.НО оттуда все гибко изменить.Т.е. когда нет сообщений для отображения Chevy, Chevy не будет в сгенерированном HTML.Таким образом, плагин показывает только выпадающие опции для предметов, которые действительно есть и могут быть найдены.Поэтому, когда Форд вообще не будет доступен, Форд не будет в выпадающем списке ...
Я скорее не буду составлять заранее определенный список Производителей и их Моделей.