【问题标题】:Populating a <select> with data from ajax via javascript通过 javascript 使用来自 ajax 的数据填充 <select>
【发布时间】:2015-05-26 01:14:38
【问题描述】:

虽然我发现了类似的问题,但那里提到的解决方案似乎对我不起作用。

我正在尝试做的事情:

  1. 使用 Ajax 获取我的数据库的所有表名
  2. 将表名称作为带有相应值的选项填充到选择字段中

我已经走了多远:

我的 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”.....

为什么会这样?

提前致谢!

最好的问候,

【问题讨论】:

  • 如果你在愉快地使用 jQuery 来简化开发,为什么还要在两者之间使用 Javascript?
  • var option = document.createElement("option"); 应该在 while 循环中

标签: javascript php jquery ajax


【解决方案1】:

您正在覆盖相同的option。也可以使用add()。改成

 while(i < elements)
    {
        var option = document.createElement("option");
        option.text= devices[i];
        option.value= devices[i];
        select.add(option);
        i++;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多