为什么我无法为新的select元素创建ID?

时间:2015-07-03 13:10:36

标签: javascript jquery html

我尝试创建新的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">

我知道我错过了一些非常小而基本的东西,但我真的无法发现它,作为一个新手。

你能帮我推吗?

1 个答案:

答案 0 :(得分:3)

你将“在之前结束属性值而不是在它之后。

$interval(updateClock, 1000);

应该是

'<select id=\"data_\"' + i + '>'

也就是说,动态生成的ID通常是个坏主意。你几乎肯定会更好地保留对JS数组中元素的引用,或者根据它在DOM中的位置(例如'<select id=\"data_' + i + '\">' )找到它。