20

所以我在让我的 HTML5 数据列表从一个 javascript 数组中动态填充时遇到了一点问题,该数组是从一个对象的键的值中填充的,该对象的键值是通过 MySQL 数据库中的行填充的。呸!

MySQL 数据库 => 表 => 行 => JSON => Javascript 对象 => “名字”和“姓氏”键 => 名字数组 => 数据列表选项。

我成功创建了名称数组:

var nameArray = ["Rick Bross","Madison Smith","Jack Johnson"]; //Example of my array

并设置一个循环将它们附加到数据列表中:

for (var i = 0; i < nameArray.length; i++) {
    alert(i + " - " + nameArray[i]); //Works Fine, "0 - Rick Bross", "1 - Madison Smith", etc.
    $('#potentials').append("<option value='" + nameArray[i] + ">"); // Not working.
}

这是我的 HTML:

<input tabindex='1' list="potentials" type="text" placeholder="First &amp; Last Name" id="name" name="name"></input>
<datalist id="potentials">
</datalist>

为什么这没有填充?

4

3 回答 3

16

缺少撇号,请尝试:

$('#potentials').append("<option value='" + nameArray[i] + "'>");
于 2013-04-15T11:29:54.230 回答
13

我知道这个答案很晚,但它可能会对某人有所帮助。

var nameArray = ["Rick Bross","Madison Smith","Jack Johnson"];

将选项添加到数据列表。
- 如果您需要一个 id 来识别每个选项,“attr”会有所帮助。
- “文本”是要显示的内容。

$.each(nameArray, function(i, item) { $("#potentials").append($("<option>").attr('value', i).text(item)); });

于 2018-08-25T20:20:30.663 回答
-6

试试 $("datalist#potentials).append...

于 2014-08-30T15:23:59.643 回答