2017-02-27 10 views
-2

2つの選択ボックスがあります。別のボックスのテキストに基づいて、1つのボックスにいくつかのオプションを表示/非表示するにはどうすればよいですか?Javascriptの選択要素が表示されます。

たとえば、私は仕事と年の2つのボックスを持っています。私がジョブボックスで学生のオプションを選択した場合、年のボックスは1年と2年のオプションのみを表示し、オプションの講師をジョブボックスで選択すると、年のボックスには2年間と5年間のオプションが表示されます。

+0

あなたは何を試してみましたか?実装しようとしているコードの例を参考にする方が簡単です。 –

+0

if(document.getElementById( "job")。text == "Student"){ \t \t \t \t x.remove(0); \t \t \t \t x.remove(0); \t \t \t \t x.add(option1); \t \t \t \t x.add(option2); \t \t \t \t \t \t \t} \t \t \t IF(のdocument.getElementById( "ジョブ")。テキスト== "講師" ||のdocument.getElementById( "ジョブ")。テキスト== "その他"){ \t \t \t \t x.remove(0); \t \t \t \t x.remove(0); \t \t \t \t x.add(option2); \t \t \t \t x.add(option3); \t \t \t} –

+0

編集して元の投稿にすると、適切な書式設定ができます:) –

答えて

0

var sel1 = document.querySelector('#sel1'); 
 
    var sel2 = document.querySelector('#sel2'); 
 
    var options2 = sel2.querySelectorAll('option'); 
 

 
    function giveSelection(selValue) { 
 
     sel2.innerHTML = ''; 
 
     for(var i = 0; i < options2.length; i++) { 
 
     if(options2[i].dataset.option === selValue) { 
 
      sel2.appendChild(options2[i]); 
 
     } 
 
     } 
 
    } 
 

 
    giveSelection(sel1.value);
<select id="sel1" onchange="giveSelection(this.value)"> 
 
     <option value="s">student</option> 
 
     <option value="l">lecturer</option> 
 
    </select> 
 
    <select id="sel2"> 
 
     <option data-option="s">1 year</option> 
 
     <option data-option="s">2 years</option> 
 
     <option data-option="l">2 years</option> 
 
     <option data-option="l">5 years</option> 
 
    </select>

関連する問題