2016-06-21 13 views
1

以下のコードからオプションの値を変更し、他の選択に応じて変更を選択しますが、値を変更したい以前の値を選択から削除されたよう他の選択されたドロップダウンリストに応じてドロップダウンリストのオプション値を変更します

... 
for(i = 0; i < diff.length; i++) 
{ 
    var value = diff[i]; 
    var difficulty = new Option(value, value); 
    numbRange.options.add(difficulty); 
} 
... 

:選択ID = "numbList" の、感謝....

<!DOCTYPE html> 
<html> 
<body> 

<select id="diffList" onchange="changeList()"> 
    <option value="">-- Difficulty --</option> 
    <option value="1">Easy</option> 
    <option value="2">Medium</option> 
    <option value="3">Difficult</option> 
</select> 

<select id="numbList"></select> 

<script> 
window.difficulty = {}; 
window.difficulty['1'] = [1,2,3]; 
window.difficulty['2'] = [4,5,6]; 
window.difficulty['3'] = [7,8,9]; 

function changeList() { 
    var diffList = document.getElementById("diffList"); 
    var numbRange = document.getElementById("numbList"); 
    var selectDiff = diffList.options[diffList.selectedIndex].value; 
    while(numbRange.options.length) 
    { 
     numbRange.remove(0); 
    } 
    var diff = window.difficulty[selectDiff]; 
    if(diff) 
    { 
     var i; 
     for(i = 0; i < diff.length; i++) 
     { 
      var difficulty = new Option(diff[i], i); 
      numbRange.options.add(difficulty); 
     } 
    } 
} 
</script> 

</body> 
</html> 
+0

私は何がうまくいかないのか分かりません。 numbListに0〜2の代わりに1〜9の値を設定しますか? – mollwe

+0

'remove()'は、あなたが思っていることをしません。代わりに親要素から 'removeChild()'を使うべきです。 – grochmal

+0

@mollwe ....はい、彼は自動的に表示されるので、numbListの値を変更したいだけです(0,1,2)その値は、私はそれを変更したい – eff

答えて

1

ただ、オプションのテキストと値の両方のために[i]の差分を使用します新しいオプションの最初のものを選択します。したがって、numbListの値を設定する必要はありません。

numbListの値をプログラムで設定するには、たとえばnumbList.value = 1;を実行します。

+0

私は変数を追加するだけで、値を変更しないと思います – eff

+0

今あなたを失ってしまったのですが、何の価値がありますか?私にとってNumbList.valueはまず値がなく、「簡単」Numblist.valueは1、「中」を選択するとNumblist.valueは4などです。何が欠けていますか? – mollwe

+0

私の返信が長すぎる場合は申し訳ありません...私は、diffList "medium"を選択するとNumbListを "1、2、3"に変換し、NumbListを "4 、5、6 "を選択し、diffList" difficult "を選択すると、" 7,8,9 "に変換されたNumListを選択し、NumbListの値を変更することです。NumbList 1,2、 3 - NumbList NumbList 4,5,6,7,8,9 ...ありがとう – eff

関連する問題