使用json中的键填充select

时间:2013-11-02 20:08:45

标签: javascript jquery json node.js mongodb

我有一个带有对象的数组,它通过运行mongodb的node.js服务器返回给客户端。我想选择对象中的所有键/字段(即名称,姓氏,电话)但不是它们的值(即我只想要“名称”字符串而不是“某个名称”值),然后在选择菜单中填充这些键使用jquery。

[
  {
    "name": "some name",
    "surname": "some surname",
    "telephone": "123456",
    "address": "street123",
    "_id": "52751d39b188f14026002711"
  }
]

以下是我如何将json格式的文档提供给客户端以及如何填充选择菜单(#parameter)。现在它用整个json文档填充select,意味着每个键/值对。

$.getJSON("http://localhost:3000/findAll/"+ coll, function (result) {
     $.each(result, function(i){
        $('#parameter').append('<option>'+JSON.stringify(result[i])+'</option>')
     })                        
});

问题的第二部分是如果我获得多个具有不同客户端密钥的mongodb文档,如何选择不同/唯一密钥。要明确选择菜单的作用是让用户能够选择他想要在mongodb中搜索整个集合的键。我不确定我在这里是否清楚,但至少回答问题的第一部分将非常感激。

1 个答案:

答案 0 :(得分:1)

试试这个(小提琴:http://jsfiddle.net/jzmtL/1/):

$.getJSON("http://localhost:3000/findAll/"+ coll, function (result) {
  $.each(result, function(i, element){
    for (var prop in element){
        if (element.hasOwnProperty(prop)){
          $('#parameter').append('<option>'+ prop +'</option>')
        }
    }                     
});

问题的第二部分不太清楚。你能解释一下吗?