尽管我发现了类似的问题,但那里提到的解决方案似乎对我不起作用。
我正在尝试做的是:
使用Ajax提取数据库的所有表名
将表名称作为选项以及相应的值填写到选择字段中
我走了多远:
我的fetch_devices php脚本回显了:
[“ test1”,“ test2”,“ test3”]
function FetchDevices(){
alert("Fetching");
$.ajax({
url: 'php/sql/fetch_devices.php',
success: function(devices) {
var elements = Object.keys(devices).length;
var select = document.getElementById("devices");
var option = document.createElement("option");
var i = 0;
while(i < elements)
{
option.text= devices[i];
option.value= devices[i];
select.appendChild(option);
i++;
}
},
cache: false
});
}
但是最后我只看到最后一个选项“ test3” .....
为什么会这样呢?
提前致谢!
最好的祝福,
最佳答案
您要覆盖相同的option
。 Aslo使用add()。更改为
while(i < elements)
{
var option = document.createElement("option");
option.text= devices[i];
option.value= devices[i];
select.add(option);
i++;
}