Есть автокаталог объявлений на
wordpress, в котором все объявления разбиты по категориям (марки) и уже более конкретным по подкатегориям (модели). Хочу сделать фильтр поиска так, чтобы можно было в первом выпадающем списке выбирать марку авто, к ней подтягивались уже конкретные модели и т.д. как на рисунке
На текущий момент доступны для выбора, как все марки, так и все модели независимо от выбора и нужно организовать сравнение принадлежности подкатеорий категориям.
Для этого заготовил первый
select без иерархии, где поиск по родителям включает поиск по дочерним элементам
<li class="sf-field-taxonomy-ad_cat" data-sf-field-name="_sft_ad_cat" data-sf-field-type="taxonomy" data-sf-field-input-type="select" data-sf-combobox="1" data-sf-term-rewrite="["http:\/\/site.by\/ad-category\/[0]\/"]">
<label>
<select data-combobox="1" name="_sft_ad_cat[]" class="sf-input-select" title="" style="display: none;">
<option class="sf-level-0 sf-item-0" data-sf-count="0" data-sf-depth="0" value="">марка а/м</option>
<option class="sf-level-0 sf-item-32" data-sf-count="1" data-sf-depth="0" value="alfa-romeo">Alfa Romeo</option>
<option class="sf-level-0 sf-item-19 sf-option-active" selected="selected" data-sf-count="12" data-sf-depth="0" value="audi">Audi</option>
</select>
<div class="chosen-container chosen-container-single" style="width: 170px;" title="">
<a class="chosen-single"><span>Audi</span><div><b></b></div></a>
<div class="chosen-drop">
<div class="chosen-search"><input type="text" autocomplete="off"></div>
<ul class="chosen-results">
<li class="active-result sf-level-0 sf-item-0" data-option-array-index="0">марка а/м</li>
<li class="active-result sf-level-0 sf-item-32" data-option-array-index="1">Alfa Romeo</li>
<li class="active-result result-selected sf-level-0 sf-item-19 sf-option-active" data-option-array-index="2">Audi</li>
</ul>
</div>
</div>
</label>
</li>
И второй
select с иерархией, чтобы можно было сравнивать категории между собой и выводить только дочерние эелементы
<li class="sf-field-taxonomy-ad_cat" data-sf-field-name="_sft_ad_cat" data-sf-field-type="taxonomy" data-sf-field-input-type="select" data-sf-combobox="1" data-sf-term-rewrite="["http:\/\/site\/ad-category\/[0]\/","http:\/\/site\/ad-category\/[0]\/[1]\/"]">
<label>
<select data-combobox="1" name="_sft_ad_cat[]" class="sf-input-select" title="" style="display: none;">
<option class="sf-level-0 sf-item-0 sf-option-active" selected="selected" data-sf-count="0" data-sf-depth="0" value="">марка а/м</option>
<option class="sf-level-0 sf-item-32" data-sf-count="1" data-sf-depth="0" value="alfa-romeo">Alfa Romeo</option>
<option class="sf-level-0 sf-item-19" data-sf-count="10" data-sf-depth="0" value="audi">Audi</option>
<option class="sf-level-1 sf-item-39" data-sf-count="1" data-sf-depth="1" value="a6c5"> A6C5</option>
</select>
<div class="chosen-container chosen-container-single" style="width: 170px;" title="">
<a class="chosen-single"><span>марка а/м</span><div><b></b></div></a>
<div class="chosen-drop">
<div class="chosen-search"><input type="text" autocomplete="off"></div>
<ul class="chosen-results">
<li class="active-result result-selected sf-level-0 sf-item-0 sf-option-active" data-option-array-index="0">марка а/м</li>
<li class="active-result sf-level-0 sf-item-32" data-option-array-index="1">Alfa Romeo</li>
<li class="active-result sf-level-0 sf-item-19" data-option-array-index="2">Audi</li>
<li class="active-result sf-level-1 sf-item-39" data-option-array-index="3"> A6C5</li>
</ul>
</div>
</div>
</label>
</li>
Как организовать сравнение категорий и выводить многоуровневый
select в нужном виде?