2016-12-08 17 views
0

最初の選択ボックスオプションに基づいて選択ボックスを非表示または表示しようとしています。私は本当になぜそれが動作していないのか分からない。別のことは、1つのセクションに複数のIDを追加するにはどうすればいいですか(ユーザーが「プロジェクト」または「モデム」を選択ボックス2に表示する場合)ドロップダウンボックスの選択に基づいて選択ボックスを表示または非表示にします

選択ボックス1:

<select name="category_0" id="category_0" onchange="qa_category_select('category');" class="king-form-tall-select" style="display: none;"> 
    <option value=""></option> 
    <option value="1">Projects</option> 
    <option value="2">Mods</option> 
</select> 

<span id="category_0_sub"> 
<select name="category_1" id="category_1" onchange="qa_category_select('category');" class="king-form-tall-select"> 
<option value="" selected=""></option> 
<option value="1">Projects</option> 
<option value="2">Mods</option> 
</select> 
<span id="category_1_sub"> <select name="category_2" id="category_2" onchange="qa_category_select('category');" class="king-form-tall-select"> 
<option value="" selected=""></option> 
<option value="124">3D Art</option> 
<option value="125">Adventure</option> 
</select> 
</span></span> 

が選択ボックス2:HTMLで

<select name="extra1" class="king-form-tall-select"> 
<option value="" selected=""></option> 
<option value="value36">1.11</option> 
<option value="value1">Older</option> 
</select> 

JS:

<script> 
$(document).ready(function(){ 
    $('#category_1').on('change', function() { 
     if (this.value == '1') 
     { 
     $("#extra1").show(); 
     } 
     else 
     { 
     $("#extra1").hide(); 
     } 
    }); 
}); 
</script> 

誰もがこの問題を解決する方法についてのアイデアを持っている場合は私に知らせてください。

答えて

0
<script> 
$(document).ready(function(){ 
    var possibleValues = [1, 2]; 
    $('#category_1').on('change', function() { 
     $("#extra1").toggle(possibleValues.indexOf(+this.value) !== -1); 
    }); 
}); 
</script> 

ここposibleValuesは、第2の選択を示すべきである(私の場合はそれに応じてプロジェクトと改造するための1及び2)すべての選択値の配列です。 2番目の選択に複数のIDを追加する必要はありません(これもできません。idはユニークで1つの単語です)

また、@SatpalがID「extra1」を2番目の選択に追加する必要があることに気づきました

+0

あなたの最初の選択がスクリプトの実行後に構築された場合、うまくいきません。 $(document).on( 'change'、 '#category_1'、function(){....}) これは動的に動作します –

+0

私はあなたのコードを使用しませんでした。 category_1をcategory_0に変更すると、何らかの理由で自分のコードが使用されるようになりました(問題はそれがボックスを隠すだけです)。後で私は、何も選択されていないカテゴリが "category_1"ではなく "category_0"という名前であることが判明しました。何かを選択すると、category_0とcategory_1が使用されます。しかし、category_1は何も指されていないので、実際には "余分な1"を表示することはできませんので、今私はそれを修正する方法がわかりません。 また、「選択ボックス1」を更新しました。 – UXRO

関連する問題