【问题标题】:Can I bind a select box option text to a model using Backbone.ModelBinder?我可以使用 Backbone.ModelBinder 将选择框选项文本绑定到模型吗?
【发布时间】:2013-01-16 20:14:07
【问题描述】:

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

【问题讨论】:

标签: backbone.js modelbinder


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 2017-02-05
    • 2017-11-14
    • 2011-02-10
    • 2017-02-09
    相关资源
    最近更新 更多