創建一個自動窗體簡單的輸入字段現在我有多個過濾器流星
<template name="filter1">
{{> selectFilter fieldName=fieldName options=options}}
</template>
<template name="filter2">
{{> selectFilter fieldName=fieldName options=options}}
</template>
<template name="filter3">
{{> selectFilter fieldName=fieldName options=options}}
</template>
<template name="filter4">
{{> selectFilter fieldName=fieldName options=options}}
</template>
<template name="selectFilter">
<select name="{{fieldName}}" class="form-control">
<option value="">Any</option>
{{#each options}}
<option value="{{value}}" selected="{{#if sessionEquals ../fieldName value}}selected{{/if}}">{{label}}</option>
{{/each}}
</select>
</template>
我與
Template.filter1.helpers({
fieldName: 'fieldName',
options: getOptions
});
Template.selectFilter.helpers({
sessionEquals: function (key, value) {
return Session.equals(key, value);
}
});
Template.selectFilter.events({
'change select': function (event) {
var $el = $(event.currentTarget);
var variableName = $el.attr('name');
var value = $el.val();
if (isInt(value)) {
value = parseInt(value, 10);
}
Session.set(variableName, value);
},
});
隨着collection2
填充,我已經設置options
有:
field1: {
type: Number,
optional: true,
autoform: {
options: getOptionsForField1,
},
},
是否可以使用autoform
和collection2
來創建一個簡單的select
元素已經填充了選項,而無需自己創建html並使用選項填充模板?
我想我可以做類似{{> quickField name=fieldName }}
的東西,但我不知道如何告訴它應該從哪個模式看,以及如何對選擇變化做出反應。
我只是覺得我似乎很愚蠢,既指定我的模式中的選項,也填充選項到模板。這應該自動完成。
簡短的回答是肯定的,我會提供一個例子不久 – challett