【问题标题】:How can I populate a dropdown menu with Mongodb in Meteor javascript?如何在 Meteor javascript 中使用 Mongodb 填充下拉菜单?
【发布时间】:2015-09-09 04:53:14
【问题描述】:

有没有办法可以用存储在 Mongodb 中的值填充下拉列表?例如,如果我有一个car 对象,它的color 属性可以包含值:black', 'red 或blue,我希望下拉列表包含这些值。我需要在 Meteor javascript 中执行此操作。

谢谢。

【问题讨论】:

  • 你尝试了什么?什么不工作?

标签: javascript mongodb meteor


【解决方案1】:

没有任何依赖,你可以简单地做

<select name="sss">
 {{#each colors}}
    <option>{{this}}</option>
{{/each}}
</select>

Template.mytemplate.helpers({
   colors: function(){
    return Colors.find().map(function (doc) {
      return doc.name
    })
 }
});

【讨论】:

  • 我怎么能把它与cars 对象联系起来呢?我需要将颜色属性保存到cars 对象。
【解决方案2】:

最简单、最干净的方法是使用aldeed:autoform。 autoform 依赖于 aldeed:simple-schema 和 collection2。使用这些软件包,您可以这样做:

Cars = new Mongo.Collection('Cars')

Cars.attachSchema({
  color: {
    type: String,
    allowedValues: ['red', 'black', 'green']
  }
})

现在假设您有一个名为 Colors 的集合,并且所有这些文档都有一个值 name:

function getColors () {
  return Colors.find().map(function (doc) {
    return doc.name
  })
}

Cars.attachSchema({
  color: {
    type: String,
    allowedValues: getColors()
  }
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    相关资源
    最近更新 更多