0

私はこれと数週間戦っていますが、うまくいきません。私のデータベースには、カテゴリのサブカテゴリとキーワードに対して継承された単一のテーブルがあります。それらは、parent_id を介してツリー構造になっています。

選択したスクリプトは、個々のリストごとに機能するようです。しかし、親と子の間の関係を動的に処理する方法がわからないため、サブカテゴリリストでは、事前に選択したカテゴリ (1 つまたは少数) にのみ属するオプションを使用できます。

これが私のスクリプトにあるものです。

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>

私はたくさん欠けているようです。しかし、これをどこから始めればよいかわかりません。

4

0 に答える 0