有没有一种方法可以使用存储在Mongodb中的值填充下拉列表?例如,如果我有一个car
对象,其color
属性可能包含值black', 'red
或blue
,我希望下拉列表包含这些值。我需要在Meteor javascript中执行此操作。
谢谢。
答案 0 :(得分:7)
没有任何依赖关系,你只需
<select name="sss">
{{#each colors}}
<option>{{this}}</option>
{{/each}}
</select>
Template.mytemplate.helpers({
colors: function(){
return Colors.find().map(function (doc) {
return doc.name
})
}
});
答案 1 :(得分: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()
}
})