我知道Meteor支持事件,我已经在复选框上看到了它,但我只是希望有人能够澄清我们是否可以在选择下拉列表中连接meteor中的更改事件,如下所示
Template.templateName.events({
'change select': function(e,t){
// do whatever.......
}
});
我正在尝试使用Meteor进行此操作,当我更改选择框中的值时,它似乎没有触发。但是,当我使用jQuery更改内容时,它可以正常工作。
答案 0 :(得分:3)
您的代码应该可以使用,它对我来说很好。
虽然我认为事件只采用一个eventMap参数,而不是两个。 “t”论点是什么?
答案 1 :(得分:1)
你可以使用这样的事件来处理多个复选框,然后检查一些属性(通常是id)以查看单击了哪一个。或者,因为this
返回我的客户行,我可以从上下文中获取我想要的值。
模板片段
{{#each phonemeResults}}
<tr>
<td>
<div class="checkbox">
<label>
<input type="checkbox" class="star">
</label>
</div>
</td>
<td>
{{word}}
</td>
<td>
<small>{{phoneme}}</small>
</td>
</tr>
{{/each}}
处理程序
Template.phonemeList.events({
'change [type=checkbox]': function(e,t){
console.log("add " this.word + " to user's public starred list");
},
});
答案 2 :(得分:0)
我有类似的问题。问题是我的模板中只包含<option>
个元素,<select>
中的<body>
元素位于其外部。确保配置事件映射的模板实际上包含<select>
元素。
答案 3 :(得分:0)
如果您想要在特定的选择框上触发更改:
Template.chatRooms.events({
'change #chatroomList' : function(event){
console.log("Changed")
}
})
如果您希望在模板中的任何选择框更改时触发它:
Template.chatRooms.events({
'change select' : function(event){
console.log("Changed")
}
})