2013-04-07 35 views
5

Tôi có một hình thức mà được ràng buộc với một mô hình: hình thức sử dụng, được đại diện bởi Backbone.View.extend trong đó có:Backbone html chọn giá trị

model:user 

bên trong xem:

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

trong đó thanh toán là một lựa chọn html với:

<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); 
} 

Khoản thanh toán đáng buồn không có giá trị. Ai đó có thể giúp bạn không? Cảm ơn!

+2

Những phần tử DOM được Xem bạn sử dụng? –

+0

Tại sao lại dùng 'this. $()' Thay vì chỉ '$()'? – mhu

+0

@mhu: Tôi sẽ gọi bằng cách sử dụng 'this. $()' Thay vì '$()' một thực hành tiêu chuẩn với Backbone, chỉ sử dụng '$()' là một bit của một lá cờ đỏ. –

Trả lời

7

Nó là một chút khó có thể nói ... nhưng nó có vẻ như bạn muốn điều này:

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'. 
} 
Các vấn đề liên quan