Search code examples
javascriptjqueryember.jsember-data

Ember - How to pass selected option value as parameter to action handler


I am new to ember. Can anyone help me how to pass selected value as parameter to action handler 'onSelectEntityType'. I have tried the following and I am able to trigger the action.

<select class="form-control" id="entityType" {{action 'onSelectEntityType' on='change'}} >
    <option value="">Select</option>
    {{#each model as |entityType|}}
    <option value="{{entityType.id}}">{{entityType.entityTypeName}}</option>
    {{/each}}
</select>

Component js file

import Ember from 'ember';

export default Ember.Component.extend({
    actions: {
      onSelectEntityType(value) {
         console.log(value)
      }
    }
});

Solution

  • If you are using Ember 1.13.3 or later, you can do:

    <select class="form-control" id="entityType" onchange={{action 'onSelectEntityType' value="target.value"}} >
      <option value="">Select</option>
      {{#each model as |entityType|}}
        <option value="{{entityType.id}}">{{entityType.entityTypeName}}</option>
      {{/each}}
    </select>
    

    For a better explanation than I could provide, see: http://balinterdi.com/2015/08/29/how-to-do-a-select-dropdown-in-ember-20.html