0

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

4

1 回答 1

0

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

于 2013-01-22T17:29:28.203 回答