以下のコードからオプションの値を変更し、他の選択に応じて変更を選択しますが、値を変更したい以前の値を選択から削除されたよう他の選択されたドロップダウンリストに応じてドロップダウンリストのオプション値を変更します
...
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>
私は何がうまくいかないのか分かりません。 numbListに0〜2の代わりに1〜9の値を設定しますか? – mollwe
'remove()'は、あなたが思っていることをしません。代わりに親要素から 'removeChild()'を使うべきです。 – grochmal
@mollwe ....はい、彼は自動的に表示されるので、numbListの値を変更したいだけです(0,1,2)その値は、私はそれを変更したい – eff