dimanche 11 septembre 2016

Ember: recover data from dynamic "select" tags

Using Ember, I am trying to build a form, with <select> droplists populated from stores. I don't know how to recover a value from here to use in a "save" function.

What am I doing wrong?

Here is a simplified version of what I have :

  1. The route accesses to differents models. This works fine :

    import Ember from 'ember';
    export default Ember.Route.extend({
    
        model() {
            var store = this.store;
    
            return Ember.RSVP.hash({
                fighters: store.findAll('fighter'),
                duels:store.findAll('duel')
            });
        },
    
        setupController(controller, models) {
    
            var fighters = models.fighters;
            var duels = models.duels;
    
            controller.set('fighters', fighters);
            controller.set('duels', duels);
       }
    });
    
    
  2. The Controller should save a new duel using the form's values. Here "formdata" is null when the form is submitted

    import Ember from 'ember';
    export default Ember.Controller.extend({
    
        actions: {
            save(formdata) {
                 var newduel = this.store.createRecord('duel', {
                      fighter1:formdata.fighter1,
                      fighter2:formdata.fighter2,
                 });             
            }
        }
    });
    
    
  3. The template displays droplists OK, but I cannot "connect" to the value in the controller, whatever ##FIGHTERn## I try !

     <form >
    <dl>
        <dt>
            <select value='##FIGHTER1##'>
                
                    <option value=></option> 
                
        </select>            
        </dt>
    
        <dt>
           <select value=##FIGHTER2##>
                
                    <option value=></option> 
                
            </select>  
        </dt>
    </dl>
    <button type="submit">Add</button>
    
    



Aucun commentaire:

Enregistrer un commentaire