2013-04-07 16 views
5

Iがモデルにバインドされた形態を有する:バックボーンHTML選択値

model:user 

をビュー内:有しBackbone.View.extendによって表されるユーザーフォーム、

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

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

悲しい支払いは値を持ちません。お支払いはHTMLと選択である

。 助けてもらえますか? ありがとう!

+2

DOM要素を使用して、あなたのビューはどれ? –

+0

'$()'の代わりに 'this。$()'を使うのはなぜですか? – mhu

+0

@mhu:バックボーンの標準的な習慣である '$()'の代わりに 'this。$()'を使うと、ちょうど '$()'を使うのは少し赤いフラグです。 –

答えて

7

言うには少し難しいです...しかし、あなたはこれをしたいように思える:

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'. 
}