私はこれと数週間戦っていますが、うまくいきません。私のデータベースには、カテゴリのサブカテゴリとキーワードに対して継承された単一のテーブルがあります。それらは、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 & 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>
私はたくさん欠けているようです。しかし、これをどこから始めればよいかわかりません。