2011-07-14 119 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

相关问题