2011-07-14 153 views
0

我被這個問題困住了。我想要做的是使用jquery javascript在選擇框中創建選項值。如何添加選項以從數組中選擇框?

例如,如果我有一個像你最喜歡的水果什麼的問題?因此用戶應該能夠從默認選擇框中選擇一個答案,例如「蘋果,橙,梨,香蕉」。然後他們可以點擊一下「添加更多水果」,第二個選擇框將出現與選擇相同的數組。

基本上參照the previous stack overflow question from another member,我只能將信息填寫到這裏。但在運行時,除了默認的「選擇水果」選項外,我無法從數組中打印選項值。

$(function() { 
// set the array 
var fruit = new Array("Apple", "Orange", "Pear", "Banana"); 

function addFruit() { 
    $.each(fruit, function(key, value) { 
     $('#fruit') 
     .append($('<option>', { value : key }) 
     .text(value)); 
    }); 
} 

var i = $("li").size() + 1; 
$("a#addmore").click(function() { 
    $("#addmore_row").append('<li>' + 
    '<select name="fruit[]" id="fruit">' + 
    '<option value="">Select Fruit:</option>' + 
    addFruit()     
    + '</select>' + 
    '</li>'); 
    return false; 
}); 

}); 

任何人都可以請幫我這個?非常感謝你。

回答

1

addFruit在構建代表select的字符串時被調用。由於它仍在構造要附加的字符串,所以select實際上並不存在,但addFruit仍在調用中。簡而言之,將addFruit從字符串連接中移出,並添加select

換句話說,這樣的:

$("#addmore_row").append('<li>' + 
'<select name="fruit[]" id="fruit">' + 
'<option value="">Select Fruit:</option>' + 
'</select>' + 
'</li>'); 
addFruit(); 
return false; 
+0

我試過,但我似乎要追加的,而不是添加到新創建的選擇框默認選擇框這是在HTML中。我是否必須爲新的選擇框使用不同的名稱,而不是在第一個選擇默認框中使用相同的名稱? –

+0

等待我認爲有一個問題,對於第二個選擇框它的工作原理,但對於第三個和第四個它不會將值附加到選擇框。我可以知道可以做些什麼嗎? –

+0

如果多次點擊鏈接,您需要爲每個添加的「select」使用唯一的ID。 – icktoofay

相關問題