私は非常に単純なタスクであるべきだと思うことをやろうとしていますが、過去1時間で失敗しています. ユーザー プロパティが値と一致する場合、デフォルトで選択オプションを選択したいと考えています。
<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
なぜそんなに単純なことを達成するのが不可能に思えるのか、私には理解できません。私はそこに何か欠けていますか?