2013-04-07 17 views
5

Ho una maschera associata a un modello: modulo utente, che è rappresentato da Backbone.View.extend che ha:backbone html selezionare il valore

model:user 

all'interno della vista:

events: { 
    'click #payment' : 'updatePayment' 
} 

in cui il pagamento è un html selezionare con:

<div class="span2" id="payment"> 
    <select class="span12"> 
     <option value="paypal">paypal</option> 
     <option value="check">check</option> 
    </select> 
</div> 

updatePayment: function() { 
    var payment = this.$("#payment"); 
    console.log(payment); 
} 

pagamento Purtroppo non ha alcun valore. Qualcuno può aiutarmi? Grazie!

+2

Quale elemento DOM è la sua opinione usando? –

+0

Perché usare 'this. $()' Invece di solo '$()'? – mhu

+0

@mhu: chiamerei usando 'this. $()' Invece di '$()' una pratica standard con Backbone, usando solo '$()' è un po 'una bandiera rossa. –

risposta

7

E 'un po' difficile da dire ... ma sembra che si desidera che questo:

events: { 
    'change .span12' : 'updatePayment' // listen for change of <select> element. 
}, 

updatePayment: function(event) { 
    var payment = event.target.value; 
    console.log(payment); // print 'paypal' or 'check'. 
} 
Problemi correlati