我在Meteor中有一个任务列表,我希望能够更新某些任务。有一个优先事项'集合中的字段。我可以在select标签中设置value属性。我想要的是设置为选择'与select标记的值匹配的选项。
以下是模板中的代码:
<select value="{{priority}}" id="priorityList">
<option value="Low">Low</
<option value="Medium" >Medium</option>
<option value="High">High</option>
</select>
这是帮助程序中的代码:
Template.add_task.helpers({
update: function() {
if(Session.get('id')) {
var id = Session.get('id');
var task = Items.find({_id: id});
console.log(task);
return task;
}
}
});
我能够从帮助程序获取字段的数据,但我是编码的新手,我正在尝试找到一个解决方案,以便能够设置&#34;低&#34;,&#34;中&#34 ;或者&#34;高&#34;选择&#39;所以当我去更新任务时它将显示在下拉列表中。
感谢您提供的任何帮助。
答案 0 :(得分:2)
正如您所说,文档的priority
属性将决定默认情况下在视图中选择哪个项目。您可以设置另一个帮助来进行调整。
<option value="Low" {{ isSelected "Low"}} >Low</option>
<option value="Medium" {{ isSelected "Medium"}} >Medium</option>
<option value="High" {{ isSelected "High"}} >High</option>
Template.add_task.helpers({
update: function(){//previous code},
isSelected: function(value){
var taskPriority = Items.findOne({_id: Session.get('id')}).priority;
return (taskPriority === value) ? 'selected' : '' ;
}
});
这是一种可能的解决方案。这个问题可能比这更好。欢迎您根据需要修改代码。