Javascript 更改上的事件(<;选择>;Meteor.js

Javascript 更改上的事件(<;选择>;Meteor.js,javascript,jquery,events,drop-down-menu,meteor,Javascript,Jquery,Events,Drop Down Menu,Meteor,我知道Meteor支持事件,我在复选框中看到了它的作用,但我只是希望有人能够澄清我们是否可以将Meteor中的更改事件挂在选择下拉列表中,如下所示 Template.templateName.events({ 'change select': function(e,t){ // do whatever....... } }); 我正在尝试使用Meteor来实现这一点,当我更改选择框中的值时,它似乎没有启动。但是,当我使用jQuery更改内容时,它就可以正

我知道Meteor支持事件,我在复选框中看到了它的作用,但我只是希望有人能够澄清我们是否可以将Meteor中的更改事件挂在选择下拉列表中,如下所示

 Template.templateName.events({
     'change select': function(e,t){
        // do whatever.......
     }
 });

我正在尝试使用Meteor来实现这一点,当我更改选择框中的值时,它似乎没有启动。但是,当我使用jQuery更改内容时,它就可以正常工作。

您的代码应该可以正常工作,对我来说也可以


虽然我认为事件只接受一个eventMap参数,而不是两个。“t”参数是什么?

您可以使用类似这样的事件来处理多个复选框,然后检查某些属性(通常是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.chatRooms.events({
'change #chatroomList' : function(event){
        console.log("Changed")
      }
})

如果您希望在模板中的任何selectbox更改时触发:

Template.chatRooms.events({
    'change select' : function(event){
            console.log("Changed")
          }
    })

克里斯托弗K:根据我一直在关注的一些教程,我认为t代表了一些目标元素,可能是当流星的反应部分发生变化时。至于select代码工作得很好,奇怪的是,我已经在不同的部分上反复尝试了它,但它仍然没有收到任何更改事件。无论如何,感谢您的回答。好的,我使用event.currentTarget来获取当前目标。我认为这是做这件事的“正确”方法。或者你是说除了单击/更改/任何其他元素之外的其他元素?非常感谢。第二个参数可用于通过t.data获取相关的模板数据,例如,当您使用{{{{each users}}{{{>itemRow}{{/each}}时,您可以侦听template itemRow中的事件,并使用t.data获取与该行关联的用户
Template.chatRooms.events({
    'change select' : function(event){
            console.log("Changed")
          }
    })