我尝试创建新的select
元素,将其附加到div然后用一些数据填充它。问题是每次下拉都需要一个唯一的ID。
我正在尝试以下代码:
var dropDowns = [];
for (var i = 0; i < data.results.length; i++) {
dropDowns[i] = $('<select id=\"data_\"' + i + '>').appendTo('.dropDowns');
for (var b = 0; b < data['data_' + data.results[i]].length; b++) {
dropDowns[i].append($("<option>").attr('value', data['data_' + data.results[i]][b].id).text(data['data_' + data.results[i]][b].description));
}
}
正如您所看到的,我尝试分配'data_' + i
,但我的元素看起来像:
<select id="data_" 0="">
但它应该看起来像:
<select id="data_0">
我知道我错过了一些非常小而基本的东西,但我真的无法发现它,作为一个新手。
你能帮我推吗?
答案 0 :(得分:3)
你将“在之前结束属性值而不是在它之后。
$interval(updateClock, 1000);
应该是
'<select id=\"data_\"' + i + '>'
也就是说,动态生成的ID通常是个坏主意。你几乎肯定会更好地保留对JS数组中元素的引用,或者根据它在DOM中的位置(例如'<select id=\"data_' + i + '\">'
)找到它。