我遇到了这个问题。我想要做的是使用jquery javascript在动态选择框中创建选项值。
例如,如果我有一个问题,比如你最喜欢的水果?因此,用户应该能够从默认选择框中选择答案,例如“Apple,Orange,Pear,Banana”。然后他们可以点击“添加更多水果”,然后会出现第二个选择框,其中包含相同的选择数组。
基本上参考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;
});
});
任何人都可以帮我解决这个问题吗?非常感谢你。
答案 0 :(得分: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;