2014-02-17 83 views
0

我在java腳本生成的選擇框中遇到小問題,問題是我想在選擇框中顯示PK-1,PK-2 ..但是附在他們身上的價值將會不同。例如,對於PK-1,我希望擁有1個值,對於PK-2,我希望有2個值作爲傳球價值。但是在這個代碼中,腳本正在傳遞PK-1。由於我是java Script的新手,我不知道該怎麼做。這裏是我的代碼選項值需要不同,而不是與選擇框中顯示的相同

function categoryInput(data){ 
    var category_vals = document.getElementById("categroy_renew"); 
for(var i=0;i<data.length;i++){ 
var option = document.createElement("option"); 
option.text = "PK - "+data[i].cat,data[i].cat; 
category_vals.add(option); 
} 
}  
+0

你看過使用:category_vals [category_vals.options.length] = new Option(Value,Text); – jeff

+0

@jeff TIL關於'新選項'謝謝。 https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement.Option。爲了返回該優勢,您不需要執行'arrName [arrName.length] = value;',您可以執行'arrName.push(value)' –

+0

Op,在'data [i] .cat'並重復它。逗號的意思是「評估左側,丟棄它,然後使用右側」 - 例如:「1 + 2,2」等於2.這可能不是有意的。 –

回答

0
function categoryInput(data) { 
    var category_vals = document.getElementById("categroy_renew"); 
    for (var i = 0; i < data.length; i++) { 
     var option = document.createElement("option"); 
     option.text = "PK - " + data[i].cat; 
     option.value = "" + data[i].cat; 
     category_vals.add(option); 
    } 
} 
1

你只需要設置你的選項的值就像你設置文本:

var option = document.createElement("option"); 
option.text = "PK - " + data[i].cat, data[i].cat; // Why are you doing this part? 
option.value = data[i].cat;      // Just need "PK - " + data[i].cat; 
category_vals.add(option); 

正如在評論中提到還有一個更簡單的方法來創建新的選擇,採取看看這個question

0

在我看來,你忘了設置每個選項的「價值」。 就像你已經設置了option.text,嘗試爲每個選項設置option.value。

相關問題