2015-11-09 1 views
0

Я создал выпадающий название страны и установить код страны в качестве значения для каждого параметра .I хотите задать имя страны по умолчанию, а также слушать изменение выбора из выпадающего списка .Я пробовал следующий кодКак прослушать изменение выбора выпадающего меню и установить выбранное по умолчанию значение с помощью ember2.0?

HTML

<select class="left-float" onchange={{action selectionchange}} > 
    {{#each model.countries as |country|}} 
    <option value="{{country.code}}" selected={{eq country.code "IN"}} >{{country.name}}</option> 
{{/each}} 
</select> 

маршрутизатор

App.SignupRoute = Ember.Route.extend({ 
    model: function() {    
    return Ember.RSVP.hash({ 
     countries: Countries 
    }); 
}, 
actions:{ 
selectionchange:function(value){ 

} 
} 
}); 

Может, пожалуйста, помогите мне решить эту

+0

Является ли 'selectionchange' вызывается при изменении выпадающего списка? Кроме того, вероятно, это должно быть на компоненте, а не на маршруте. – andorov

ответ

0

@Sindhu,

Другим простым решением было бы создать собственный помощник eq. Обычай помощник будет выглядеть так:

import Ember from 'ember'; 
export function eq(params) { 
    return params[0] === params[1]; 
} 
export default Ember.Helper.helper(eq); 

Рабочий пример: https://ember-twiddle.com/d4aaf5790e40b20ce492. Вы можете изменить версию emberjs, нажав Dependencies -> Ember.js -> version. Код работает с v2.0.2.

Сообщите мне, если это решение работает на вас.

0

Вот как можно реализовать SelectionChange:

HBS:

<select class="left-float" onchange={{action "selectionchange" value="target.value"}} > 
    {{#each countries as |country|}}  
     <option value="{{country.code}}" selected={{eq selectedCodecountry.code}}> 
     {{country.name}} 
    </option> 
    {{/each}} 
    </select> 

Внутри контроллер

countries: [ 
     {code:"IN", name: "India"}, 
     {code: "US", name: "USA"}, 
     {code: "UK", name: "UK"} 
     ], 
     selectedCode: "US", 
     actions: { 
     selectionchange(code) { 
      this.set('selectedCode', code); 
     } 

Надеется, что это помогает.

+0

Я попытался ответить выше, но это не сработает. – Sindhu

+0

Можете ли вы поделиться кодом, чтобы его было легко отлаживать? – phkavitha

+0

@ kavitha, см. Этот демонстрационный пример http://plnkr.co/edit/5UBr3Trm5nX1NRfqHzZa?p=preview также посмотрите на консоль для ошибки – Sindhu

Смежные вопросы