2017-08-08 12 views
0

Selectタグには3つのオプションがあります。そして私がそれらを選択するとき、私は3つの異なる機能を呼び出す必要があります。どうすればいいのですか?オプションタグ内で異なる関数を呼び出す

`  <select> 
      <option selected disabled="">Sort</option> 
      <option>Ascending</option> 
      <option>Descending</option> 
      <option>Basic JSON</option>  
     </select>` 

3関数名:sortArrAcc()、sortArrDec()、負荷()

だから私は、それはそうで(ソートARRA CCを起動)とすべきである昇順]を選択した場合。 JQueryなし。

+1

あなたが "のonchange" イベントのために、単一の機能を持たせることができます選択のために。その関数の中で、コントロールはオプションタグに与えられた値に基づいてそれぞれの関数に行きます。 –

答えて

0

次の操作を行うことができます では、次のドロップダウンをしました考えてみましょう:

  <select name="mselect" id="mselect"> 
       <option value="">Select</option> 
       <option value="1">Ascending</option> 
       <option value="2">Descending</option> 
       <option value="3">Basic JSON</option> 
     </select> 

そして、ここではjavascriptのです:

 var sortArrAcc = function() { 
      // invoke sort array cc and do your necessary work 
      console.log('sortArrAcc'); 
     }; 
     var sortArrDec = function() { 
      // invoke sort array cc and do your necessary work 
      console.log('sortArrDec'); 
     }; 
     var load = function() { 
      // do your necessary work 
      console.log('load'); 
     }; 

     var funcArray = [sortArrAcc, sortArrDec, load]; 

     window.addEventListener('load', function() { 
      document.getElementById('mselect').addEventListener('change', function (e) { 
       var elem = e.target; 
       var selectedOption = elem.options[elem.selectedIndex]; 
       if (selectedOption.value && funcArray[+selectedOption.value]) { 
        funcArray[+selectedOption.value](); 
       } 
      }); 
     }); 
関連する問題