我正在尝试做我认为应该是一项非常简单的任务,但在过去的一个小时里一直没有这样做。如果用户属性与值匹配,我想默认选择一个选择选项。
<select name="myName">
{{#each addKeys myTable}} <!-- addKeys creates variables for keys and values -->
<option value="{{key}}" {{#if currentUser.property === key}}selected="selected"{{/if}}>{{value}}</option>
{{/each}}
</select>
现在我认为这很简单,可以实施。但事实证明,空格键不允许除否定感叹号以外的条件运算符,所以等号是毫无疑问的。然后我为了尝试而尝试了一些可怕的东西:
在模板中myTemplate
:
<select name="myName">
{{#each addKeys myTable}}
<option value="{{key}}" {{isSelected currentUser.property key}}>{{value}}</option>
{{/each}}
</select>
在mytemplate.js
:
Template.myTemplate.helpers({
isSelected: function(v1, v2) {
if (v1 === v2)
return "selected=\"selected\"";
return '';
}
});
这段代码不仅很糟糕,看起来很糟糕,而且它不起作用:
Exception in Meteor UI: String contains an invalid character
我不明白为什么这么简单的事情似乎不可能实现。我在那里错过了什么吗?