【发布时间】:2013-06-25 09:00:26
【问题描述】:
我大约一周前才开始使用流星,我正在尝试编写我的第一个应用程序来记录项目的时间。
在一天结束时,用户可以在包含 2 个下拉选择菜单的单行中登录并记录他们的工作时间。首先是客户端下拉。然后基于该客户(使用 Session),客户项目的第二个下拉菜单将自动填充,最后允许您在文本输入中输入您的时间。
我有这个工作,但我还需要实现一个按钮,以便您可以一次添加多行。有点像 jQuery Clone(),以防用户在不同的客户端或客户端项目上工作。
单击 newRow 后,我尝试重新渲染该行,但随后第二行操纵了第一行,因为我假设它们都引用了相同的模板。
为了简化? 1)我如何复制下面的最后一个,以及 2)我如何对 1 行或多行使用相同的模板,并且它们不会相互影响?
欢迎任何想法/帮助
<form id="add_time">
<template name="row">
<ul>
{{> clientsDD}}
{{> projectsDD}}
{{> hoursAndTasks}}
</ul>
</template>
<p><a href="#" id="newRow">Add another row</a>
<input type="submit" id="submit_hours" value="Submit"/>
</form>
Template.clientsDD.clients = function() {
return Clients.find({});
}
Template.projectsDD.projects = function(event) {
return Projects.find({"client.clientId" : Session.get("clientSelected")});
}
Template.addHours.events({
'change select[name="clientsDD"]' : function(event){
newClient = $(event.target).val();
Session.set("clientSelected", newClient);
},
'change select[name="projectsDD"]' : function(event){
newProject = $(event.target).val();
}
});
【问题讨论】:
标签: mongodb templates meteor handlebars.js