我可以使用Backbone.ModelBinder将选择框选项文本绑定到模型吗?

时间:2013-01-16 20:14:07

标签: backbone.js modelbinder

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

1 个答案:

答案 0 :(得分:0)

我最终设置并检索了modelBinder绑定之外的函数中的值。我可能已经使用了转换器,但没有它就更简单。