如何在Backbone模型中保存输入值

时间:2015-07-23 22:59:51

标签: javascript backbone.js

目前,当我需要从所选选项和一个输入的值中获取一个值并将其保存在主干模型中然后保存在服务器上时,我遇到了这种情况。这是我的标记:

<select id="select" multiple size=5>
    <option value="Room" name="room">Room</option>
    <option value="Teacher" name="teacher">Teacher</option>
    <option value="Group" name="group">Group</option>
</select>
<input type="text" name="name">
<button type="button" class="save">Save</button>

通过单击保存按钮,我想在模型中存储当前的两个值。我尝试使用插件ModelBinder for Backbone,但我想我只是以错误的方式使用它。

var CreateEditView = Backbone.View.extend({
    tagName: 'div',

    template: editResourceTpl,

    events: {
        'click .save': 'save',
    },

    initialize: function () {
        this.modelBinder = new Backbone.ModelBinder();
    },

    render: function () {
        this.$el.append(this.template()); 
        this.modelBinder.bind(this.model, this.el);

        return this;
    },

    save: function () {
        var isNewModel = this.model.isNew();

        this.model.once('sync', function () {
            if (isNewModel) {
                vm.mediator.publish('ResourceSaved', this.model);
            }
        }, this);

        this.model.save();
    }    
});

有人可以给我一个正确的方向,我该怎么做?我只需要从表单中收集2个值(从选定的选项中选择1个,从输入中收集1个),然后将其存储在模型中并保存在服务器上(并通过介体传递此模型)。我如何以正确的方式使用ModelBinder插件来实现这一目标?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)