首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何基于集合属性将选项设置为“选定”

如何基于集合属性将选项设置为“选定”
EN

Stack Overflow用户
提问于 2016-05-14 12:37:54
回答 1查看 59关注 0票数 1

我在Meteor中有一个任务列表,其中我希望能够更新某些任务。集合中有一个“优先级”字段。我能够在select标记中设置value属性。我想要的是将与select标记值匹配的选项设置为“selected”。

下面是模板中的代码:

代码语言:javascript
复制
<select value="{{priority}}"  id="priorityList">
      <option value="Low">Low</
      <option value="Medium" >Medium</option>
      <option value="High">High</option>
</select>

这是助手中的代码:

代码语言:javascript
复制
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‘,这样在我更新任务时它就会显示在下拉列表上。

谢谢你能提供的任何帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-14 17:30:55

如前所述,默认情况下,文档的priority属性将决定在视图中选择哪一项。您可以设置另一个助手来进行调整。

代码语言:javascript
复制
<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' : '' ;
    }
});

这是一个可能的解决办法。这个问题可能有一个比这更好的解决办法。欢迎您根据您的需要修改代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37226761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档