Я борюсь с этим уже несколько недель и не могу заставить его работать. В моей базе данных у меня есть единая таблица, унаследованная для подкатегории и ключевых слов категории. Они находятся в древовидной структуре через parent_id.
Выбранный сценарий работает для каждого отдельного списка. Но я не могу понять, как динамически обрабатывать отношения между родителем и дочерними элементами, поэтому в списке подкатегорий будут доступны параметры, которые принадлежат только моей предварительно выбранной категории (одна или несколько).
Вот что у меня есть в моем сценарии.
jQuery(function($){
$(".chosen-input").chosen().trigger("liszt:updated");
$(".schosen-input").chosen().change(function(){
var subcategories = $("companies_categories").children('select:visible').val();
});
$(".kchosen-input").chosen().change(function(){
var keywords = $("companies_subcategories").children('select:visible').val();
});
});
Моя форма выглядит нормально.
Выбранный скрипт работает.
Фильтрация показывает мне весь список подкатегорий. Но мне нужны только дочерние элементы предварительно выбранной категории.
То же самое с ключевыми словами.
HTML
<fieldset class="inputs"><legend><span>Categories</span></legend><ol>
<li class="select input optional" id="company_categories_input">
<input name="company[category_ids][]" type="hidden" value="" />
<label class=" label" for="company_category_ids">Categories</label>
<input name="company[category_ids][]" type="hidden" value="" />
<select class="chosen-input" id="company_category_ids" multiple="multiple"
name="company[category_ids][]" style="width: 700px;">
<option value="50">Apparel & Luggage</option>
<option value="126">Automotive, RV, Cycling & Other Transportation</option>
<option value="180">Baby, Toddler & Children</option>
<option value="208">Beauty & Personal Care</option>
<option value="288">Chemicals</option>
<option value="331">Arts, Crafts, Hobbies & Fabrics</option>
<option value="392">Electronics & Computers</option>
30 More records
<option value="461">Fitness & Sports</option></select></li>
<li class="select input optional" id="company_subcategories_input">
<input name="company[subcategory_ids][]" type="hidden" value="" />
<label class=" label" for="company_subcategory_ids">Subcategories</label>
<input name="company[subcategory_ids][]" type="hidden" value="" />
<select class="schosen-input" id="company_subcategory_ids" multiple="multiple"
name="company[subcategory_ids][]" style="width: 700px;">
<option value="13">Small Kitchen Appliances</option>
<option value="24">Laundry & Garment Care</option>
<option value="28">Home Appliances</option>
<option value="36">Commercial Grade Appliances</option>
<option value="46">Appliance Cleaners</option>
Few more hundreds records
<option value="1811">Management of Bank Holding Companies &
Corporate Offices</option></select></li>
<li class="select input optional" id="company_keywords_input">
<input name="company[keyword_ids][]" type="hidden" value="" />
<label class=" label" for="company_keyword_ids">Keywords</label>
<input name="company[keyword_ids][]" type="hidden" value="" />
<select class="schosen-input" id="company_keyword_ids" multiple="multiple"
name="company[keyword_ids][]" style="width: 700px;">
<option value="5">Ranges - Range Hoods</option>
<option value="6">Ovens - Warming Drawers</option>
<option value="7">Stoves - Cooktops</option>
<option value="8">Dishwashers</option>
<option value="9">Disposers - Trash Compactors</option>
Over 1000 more records
<option value="1179">Soil Amendment - Soil Preperation - Composting -
Garden Care - Nursery Products</option></select>
</li></ol></fieldset>
Кажется, я многое упускаю. Но не знаю, с чего начать.