2016-10-06 7 views
1

私はhtml/javascript言語の初心者です。2つのドロップダウンから値を取得する際の問題

私はdropdownsと組み合わせて両方から価値を得ようとしています。私の問題は私が何か間違っていることで、何が理解できないかということです。

注:プラスとして、私はさらにdropdownsを追加したいと思います。

は、HTML従う:

<form> 
    <select name="courselevel" id="courselevel" style="width:120px"> 
     <option>Courses level</option> 
     <option value="1">level 5</option> 
     <option value="2">level 4</option> 
     <option value="3">level 3</option> 
     <option value="4">level 2</option> 
     <option value="5">level 1</option> 
    </select> 
    <br/> 
    <select name="tolevel" id="tolevel" style="width:120px"> 
     <option>To level</option> 
     <option value="1">level 4</option> 
     <option value="2">level 3</option> 
     <option value="3">level 2</option> 
     <option value="4">level 1</option> 
    </select> 
    <br/> 
    <input name="button" type="button" value="Submit" onclick="return validate()" /> 
    <input name="reset" type="reset" value="Reset" /> 
<div id="total"></div> 
</form> 

は、以下の私のjs

var courselevel = document.getElementById('courselevel'), 
    tolevel = document.getElementById('tolevel'); 

    window.onload = function(){ 
courselevel = document.getElementById('courselevel'), 
tolevel = document.getElementById('tolevel'); 

courselevel.addEventListener('change', function(e) { 
    switch (level.selectedIndex) { 
     case 0: 
      var courselevelList1 = ["Select level"]; 
      var courselevellist2 = ["Select level2"]; 
      fillList(courselevel, courselevelList1); 
      fillList(tolevel, courselevelList2); 
      break; 

     case 1: 

      var courselevelList = ["Select level", "5", "4", "3", "2", "1"]; 
      var courselevelList2 = ["Select level2", "4", "3", "2", "1" ]; 
      fillList(level, courselevelList1); 
      fillList(tolevel, courselevelList2); 
      break; 

    } 
}); 

}; 




function fillList(el, items) { 
    el.innerHTML = ''; 
    for (var i = 0; i < items.length; i++) { 
     var option = document.createElement('option'); 
     option.value = items[i]; 
     option.text = items[i]; 
     el.add(option); 
    } 
} 


window.validate = function() { 
    var courselevelvalue = parseFloat(courselevel.options[courselevel.selectedIndex].value), 
     tolevelvalue = parseInt(tolevel.options[tolevel.selectedIndex].value), 
     totaltolevelvalue = courselevelvalue + tolevelvalue; 

    total.innerHTML = totaltolevelvalue;  
    return totaltolevelvalue;   
+0

あなたは大丈夫予告 – Rajesh

+0

行われ、感謝を削除してください、あなたのコード内でのjQueryを使用していない場合だから私は

を追加し、それは動作するようです。あなたの洞察に感謝します! – Adasr

答えて

1

私は明確な質問を参照することはできませんが、私はあなたのコードで作られたこのfiddleであなたは問題があることがわかります

totalは、あなたがこれを持っている

が定義されていないということです

total.innerHTML = totaltolevelvalue; 

おそらくあなたは、その全体があなたのコードを含めていないtotal

のための宣言がありません

+0

ために、そのタグ – Adasr

+0

@Adasr - 喜んで助けてくれました。答えを記入して投票してください。 – Ted

関連する問題