javascript - 尝试用选项填充下拉菜单。仅存储一个值

标签 javascript jquery html drop-down-menu

我正在运行这个脚本:

    function insertformat(formats){
//Deletes the content of the dropdown if there was any
        document.getElementById('format').options.length = 50;
//fills the dropdown with an associative array
        for (var key in formats)
        var newOption = "<option value='"+key+"'>"+formats[key]+"</option>";
        $("#format").append(newOption);
    }

填写以下选择:

<select id="format"></select>

但是仅存储数组的最后一个元素。在 Debug模式下,似乎每次循环完成时都会覆盖下拉列表,而不是添加新元素。

最佳答案

目前,appned 代码不在内部循环,因此仅将最后一个值 添加到下拉列表中。像这样改变你的循环。

for (var key in formats)
{    
 var newOption = "<option value='"+key+"'>"+formats[key]+"</option>";
 $("#format").append(newOption);
}

关于javascript - 尝试用选项填充下拉菜单。仅存储一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37718652/

相关文章:

javascript - Greasemonkey 脚本将一个元素移动到另一个元素?

javascript - Moment js diff函数在 native react 中不起作用

javascript - Web Firebase Cloud Messaging - 如何从客户端订阅主题?

javascript - jquery focusout 部分 View 中的文本框 asp.net mvc

html - 移动 View 中的 Bootstrap Navbar 可折叠菜单需要不同的悬停和事件颜色

javascript - 当我使用javascript在表单中输入错误的类型信息时,如何停止表单提交?

javascript - 通过类名从另一个元素查询获取元素

javascript - 使用JS确定范围 slider 背景宽度

javascript - jQuery .change() 对带有 1 个选项的选择没有反应

javascript - 尝试使用 firebase 支持的 Web 登录页面登录,然后重定向到主页