Michael
Michael

Reputation: 1622

Ember Select not firing on Change

I know this is a common problem, but I can't get an Ember.Select view to fire on its value changing. I'd either like to update the selectedInvitation based on the selection in the drop down, or call an action that will perform this behavior.

I've tried variations on Binding Action in Ember.Select and haven't had any luck.

models/uservisit.js

Models.Invitation = DS.Model.extend({
  sameSeriesOpenInvitations: DS.hasMany('uservisit', {
    async: true
  })
});

controllers/user/invitations_controller.coffee

Visitdays.InvitationsController = Ember.ArrayController.extend
  selectedInvitationObserver: (->
    debugger
    if @get('selectedInvitation')
      @get('selectedInvitation')._data.event
  ).observes('selectedInvitation')

  actions:
    setSelectedInvitation: (invitation) ->
      debugger
      if invitation
        @set 'selectedInvitation', invitation

invitations.emblem

.input-group.full-width
   = view Em.Select contentBinding=selectedInvitation.sameSeriesOpenInvitations optionValuePath="content" optionLabelPath="content.event.startTimeFormatted" value="selectedInvitation" class="form-control" 

Upvotes: 0

Views: 170

Answers (1)

Michael
Michael

Reputation: 1622

Thanks to @ahmed.hoban who got me in the right direction. I didn't need an action or anything. Since I wanted to deal with the object and not just the id, I really only needed to change the Ember.Select view's selection attribute to the object I wanted to observe change:

.input-group.full-width
  = view Em.Select content=selectedInvitation.sameSeriesInvitations optionValuePath="content.id" optionLabelPath="content.visit.startTimeFormatted" selection=selectedInvitation class="form-control"

Upvotes: 1

Related Questions