我在Meteor中有一个任务列表,其中我希望能够更新某些任务。集合中有一个“优先级”字段。我能够在select标记中设置value属性。我想要的是将与select标记值匹配的选项设置为“selected”。
下面是模板中的代码:
<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;
}
}});
我能够从助手那里获得字段的数据,但是我对编码还不熟悉,我正在试图找到一种解决方案,使之能够将“低”、“中”或“高”设置为'selected‘,这样在我更新任务时它就会显示在下拉列表上。
谢谢你能提供的任何帮助。
发布于 2016-05-14 17:30:55
如前所述,默认情况下,文档的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' : '' ;
}
});这是一个可能的解决办法。这个问题可能有一个比这更好的解决办法。欢迎您根据您的需要修改代码。
https://stackoverflow.com/questions/37226761
复制相似问题