динамический множественный выбор для категории/подкатегории/ключевых слов

Я борюсь с этим уже несколько недель и не могу заставить его работать. В моей базе данных у меня есть единая таблица, унаследованная для подкатегории и ключевых слов категории. Они находятся в древовидной структуре через 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 &amp; Luggage</option>
<option value="126">Automotive, RV, Cycling &amp; Other Transportation</option>
<option value="180">Baby, Toddler &amp; Children</option>
<option value="208">Beauty &amp; Personal Care</option>
<option value="288">Chemicals</option>
<option value="331">Arts, Crafts, Hobbies &amp; Fabrics</option>
<option value="392">Electronics &amp; Computers</option>
30 More records
 <option value="461">Fitness &amp; 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 &amp; 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 &amp; 
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>

Кажется, я многое упускаю. Но не знаю, с чего начать.


person Misha    schedule 17.12.2012    source источник
comment
Как выглядит ваша структура HTML ??   -  person Sushanth --    schedule 17.12.2012
comment
Привет Сушант, спасибо за ответ. Я добавил результат html.   -  person Misha    schedule 18.12.2012
comment
У меня также есть /categories.json   -  person Misha    schedule 19.12.2012
comment
Может быть, этот вопрос поможет вам? stackoverflow.com/questions/13789103/   -  person Ivan Z    schedule 19.02.2013