如何根据 collection 属性 将选项设置为选中
How to set option to selected based on collection property
我在 Meteor 中有一个任务列表,我希望能够在其中更新某些任务。 collection 中有一个 'priority' 字段。我可以在 select 标签中设置值 属性。我想要的是将与 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;
}
}
});
我能够从助手那里获取字段的数据,但我是编码的新手,我正在尝试找到一个能够设置 "Low"、"Medium" 或 "High" 到 'selected' 所以当我去更新任务时它会显示在下拉列表中。
感谢您提供的任何帮助。
如您所说,文档的 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' : '' ;
}
});
这是一种可能的解决方案。这个问题可能有比这更好的解决办法。欢迎大家根据需要修改codebse
我在 Meteor 中有一个任务列表,我希望能够在其中更新某些任务。 collection 中有一个 'priority' 字段。我可以在 select 标签中设置值 属性。我想要的是将与 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;
}
}
});
我能够从助手那里获取字段的数据,但我是编码的新手,我正在尝试找到一个能够设置 "Low"、"Medium" 或 "High" 到 'selected' 所以当我去更新任务时它会显示在下拉列表中。
感谢您提供的任何帮助。
如您所说,文档的 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' : '' ;
}
});
这是一种可能的解决方案。这个问题可能有比这更好的解决办法。欢迎大家根据需要修改codebse