我有一个如下的JSON数据:
[ { “id”:1 “name”:“firstName” }, { “id”:2 “name”:“secondName” } ]
现在,我正在使用 Bootstrap Typeahead 。我想在typeahead下拉列表中向用户显示“名称”,但是我需要用户选择的“名称”的相应“id”,我们以前在选择框中做了什么。 我的要求是这样的
<select>
<option value="1">First Name</option>
<option value="2">Second Name</option>
</select>
答案 0 :(得分:0)
我不习惯Bootstrap typeahead,但是当我在一点点搜索后看到它的例子时,它们并没有将数据显示为选择菜单。他们将数据显示为div标签。所以我认为这不是你需要的。
所以我将分享这个jquery解决方案,从你提供的数据数组中创建你需要的东西。
但首先,你的数据数组是一个对象数组,所以在object元素和另一个对象元素之间应该有一个逗号“,”,除了最后一个元素之外,这是真的。
所以你的数组应该是这样的:
[ { "id": 1, "name": "firstName" }, { "id": 2, "name": "secondName" } ]
用于从该数组中编写所需的select标记的jquery解决方案是:
var data=[ { "id": 1, "name": "firstName" }, { "id": 2, "name": "secondName" } ];
var el= document.createElement("select");
for (var i=0 ; i<data.length; i++){
var child = "<option value='"+data[i].id+"'>"+data[i].name+"</option>";
$(el).append(child);
}
document.body.appendChild(el);
这是fiddle。