試圖讓我的第二個選擇元素的選項根據第一個select元素的值從數組中填充。我似乎無法理解爲什麼它只填充第一個select元素的數組中的項目。我知道appendChild導致項目在需求上繼續粘貼,但我試圖清除變量,但似乎創建的選項元素保持不變。如何根據選擇值從數組中選擇選項?
任何幫助將是偉大的,謝謝!
<select id="makeSelect" onChange="modelAppend()">
<option value="merc">Mercedes</option>
<option value="audi">Audi</option>
<option value="bmw">BMW</option>
</select>
<select id="modelSelect">
</select>
<script>
var audiModels = ["TT", "R8", "A4", "A6"]; //audimodels
var mercModels = ["C230", "B28", "LTX",]; //mercmodels
var bmwModels = ["328", "355", "458i",]; //bmwmodels
var selectedMake = document.getElementById("makeSelect"); //grabs the make select
var selectedModel = document.getElementById("modelSelect"); //grabs the model select
var appendedModel = window[selectedMake.value + "Models"]; // appends "Models" to selectedMake.value and converts string into variable
function modelAppend() {
for (var i = 0; i < appendedModel.length; i ++) { // counts items in model array
var models = appendedModel[i]; // // sets "models" to count of model array
var modelOptions = document.createElement("option"); //create the <option> tag
modelOptions.textContent = models; // assigns text to option
modelOptions.value = models; // assigns value to option
selectedModel.appendChild(modelOptions); //appeneds option tag with text and value to "modelSelect" element
}
}
</script>
如何編輯你的問題,妥善縮進你的代碼? –
這個變量'appendModel'需要在函數內部刷新以獲取新的selectedMake值 –
@ScottMarcus如何提供適當的反饋並推薦引入縮進最佳實踐的文檔? –