javascript - 从 jquery 中的二维数组填充下拉列表

标签 javascript jquery arrays

我有以下下拉选择:

<select id="start" onchange="calcRoute();"></select>

我需要用从这种类型的 Javascript 数组中获得的值来填充它:

{"name":"Hotel1","address":"Bondi Beach","lat":"6.369869","lng":"80.042055","thumb_path":"img\/hotel1.jpg"},{"name":"Hotel2","address":"Coogee Beach","lat":"6.025822","lng":"80.305727","thumb_path":"img\/hotel2.jpg"},{"name":"Hotel3","address":"Cronulla Beach","lat":"6.691994","lng":"79.928771","thumb_path":"img\/hotel3.jpg"},{"name":"Hotel4","address":"Manly Beach","lat":"6.887130","lng":"80.093420","thumb_path":"img\/hotel4.jpg"},{"name":"Hotel5","address":"Maroubra Beach","lat":"7.362609","lng":"79.825005","thumb_path":"img\/hotel5.jpg"}

我尝试了以下方法,但它不起作用。

for (i = 0; i < locations.length; i++) {
    $('#start select').append('<option value=' + locations[i]['name'] + '>' + locations[i]['name'] + '</option>');
    alert("sdgsfg");
}

请提出修复建议。

最佳答案

选择器 $('#start select')将选择 <select> #start 内的元素不能用作 select 的 ID 的元素本身就是start .要正确选择元素,请使用

$('#start') // or $('select#start')

最好不要乱用 HTML 字符串。您可以使用 Option 构造函数来创建新的选项元素。

var locations = [{"name":"Hotel1","address":"Bondi Beach","lat":"6.369869","lng":"80.042055","thumb_path":"img\/hotel1.jpg"},{"name":"Hotel2","address":"Coogee Beach","lat":"6.025822","lng":"80.305727","thumb_path":"img\/hotel2.jpg"},{"name":"Hotel3","address":"Cronulla Beach","lat":"6.691994","lng":"79.928771","thumb_path":"img\/hotel3.jpg"},{"name":"Hotel4","address":"Manly Beach","lat":"6.887130","lng":"80.093420","thumb_path":"img\/hotel4.jpg"},{"name":"Hotel5","address":"Maroubra Beach","lat":"7.362609","lng":"79.825005","thumb_path":"img\/hotel5.jpg"}]

var select = $('#start')[0];
locations.forEach(function(location) {
    select.add(new Option(location.name, location.name));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="start"></select>

关于javascript - 从 jquery 中的二维数组填充下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33386551/

相关文章:

javascript - 根据选定的 UL LI 项目生成数组 - 如何删除尾随空格?

javascript - 单击按钮隐藏或取消隐藏文本

jquery - 使用带有 CSS 的 Knockout JS 在类 bg 颜色之间淡入淡出

PHP JSON_Encode() 使用 UTF-8 返回 NULL(数组中的数组)

javascript - 滚动更改菜单的当前元素

javascript - jquery 用户界面错误 "undefined is not a function"

在c中创建带有char参数的char函数

javascript - f :ajax onerror called before listener

javascript - node.js 无法连接到 mysql

javascript - 有没有办法用两个输入字段创建提示?