2016-12-14 121 views
-3

我基本上有這樣的硬編碼: -HTML選擇標籤太大

<select id="nr"> 
 
       <option value="0">0</option> 
 
       <option value="1">1</option> 
 
       <option value="2">2</option> 
 
       <option value="3">3</option> 
 
       <option value="4">4</option> 
 
       <option value="5">5</option> 
 
       </select>

它應該從陣列選擇一個值,是有辦法,我可以做一個選擇沒有硬編碼所有這些值?最好創建一個與我的數組的長度在JavaScript或HTML循環?

+2

什麼的這點?你不能只是輸入數字嗎?這是一種壞習慣? –

+0

@JoshuaBakker這是一個愚蠢的任務,我的老師讓我做,我不知道如何。他基本上希望限制用戶選擇一個不存在於數組中的索引,但他也希望讓用戶選擇數組中存在的索引。 –

+0

嗯,我不知道他爲什麼會告訴你這麼做,選擇帶值的選項並顯示爲數字是沒用的。 –

回答

1

希望這可以幫助你!

function addOptionValue(value) { 
 
    var option = document.createElement('option'); 
 
    option.setAttribute('value', value); 
 
    option.innerHTML = value; 
 
    selectEl.appendChild(option); 
 
} 
 

 
var optionsArray = [1, 2, 3, 4, 5], 
 
selectEl = document.getElementById('nr'); 
 

 
for (i in optionsArray) { 
 
    addOptionValue(optionsArray[i]); 
 
}
<select id="nr"></select>

0

jQuery的

$(function(){ 
    for (i=1;i<=5;i++){ 
     $("#nr").append($('<option></option>').val(i).html(i)) 
    } 
}); 

的Javascript

<script> 
for(var i=1; i<=5; i++){ 
    var option = document.createElement("option"); 
    option.value = i; 
    option.text = i; 
    document.getElementById('nr').appendChild(option); 
} 
/<script> 

Demo

+0

是否有可能在JavaScript中做類似的事情? –

+0

@StanVanHoorn更新了答案。 – Imad

0

這樣的事情?

var arr = [0,1,2,3,4,5]; 
 
var select_elem = document.getElementById("nr"); 
 
for (var i = 0; i < arr.length; i++){ 
 
    var option = document.createElement("option"); 
 
    option.value = arr[i]; 
 
    option.text = arr[i]; 
 
    select_elem.appendChild(option) 
 
}
<select id="nr">  
 
</select>

+0

這就是我正在尋找,但你可以提供整個文件,因爲我試圖執行,但它不適用於我:p –

+0

你是什麼意思的「整個文件」?代碼在代碼段中工作 –

+0

如果你需要jsfiddle,它在這裏https://jsfiddle.net/ytqnmfjp/ –