簡體   English   中英

為什么我不能為我的新選擇元素創建 ID?

[英]Why I can't create an ID for my new select element?

我正在嘗試創建新的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">

我知道我錯過了一些非常小的和基本的東西,但我真的無法發現它,作為一個 js 新手。

你能給我推一下嗎?

您將結束屬性值的 " 放在遞增變量之前而不是之后。

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

應該

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

也就是說,動態生成的 ID 通常是一個壞主意。 您幾乎肯定會更好地保留對 JS 數組中元素的引用或根據其在 DOM 中的位置(例如myForm.querySelectorAll('select')[i] )找到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM