モデル データを入力する編集フォームを Backbone アプリに設定しました。現在、ModelBinder なしで動作していますが、ModelBinder に切り替えたいと考えています。
値がモデルの ID にマップされる選択ボックスがあり、選択したオプション テキストはモデルの文字列フィールドにマップする必要があります。ユーザーは、placeId と placeName を入力するドロップダウンからモデルを設定するか、テキストボックスを使用して placeName のみを入力するかを選択できます。
私の質問は、これをどのように取得する$("#placeName option:selected").text()
かです-placeNameセレクターに入れますか?
これが私のモデルとバインディングオブジェクトです:
// The Place Model
App.Models.Place = Backbone.Model.extend({
defaults: {
placeName: "",
placeId: ""
}
});
// Backbone Model Binder bindings
bindings: {
placeName:[
{selector: '$("#placeName option:selected").text()'},
{selector: '#textInputPlaceName'}] ,
placeId:'[name=placeName]'
}
ここにHTMLがあります。UI には、ドロップダウンまたは入力フィールドを選択するためのチェックボックスがあります。
<select id="placeName" name="placeName" class="inline">
<option value="0" selected="selected"></option>
<option value="444">exit 1</option>
<option value="555">exit 2</option>
<option value="666">exit 3</option>
</select>
<input id="textInputPlaceName" name="textInputPlaceName class="inline" disabled>
フィドルの同じコードは次のとおりです: http://jsfiddle.net/kDBvQ/