我在我的 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/