Backbone tr 视图中的复选框值

Backbone checkbox value in tr view

我目前正在为 MVC 网络应用程序编写网络界面,我需要获取已选中复选框的模型。

目前这是我用来生成单个 table 行的模板:

<td><span class="userintern"><%= intern %></span></td>
<td><span class="username"><%= name %></span></td>
<td><input id="add" class="add" type="checkbox" ></td>

这是 table 行视图的代码:

var UserView = Backbone.View.extend({
    tagName: 'tr',
    template: _.template(messageuser),
    initialize: function () {
    },
    events: {
        'click .add': 'add'
    },
    render: function () {
        this.$el.html(this.template(this.model.attributes));
        $('.add').prop('checked', false);
        return this;
    },
    add: function () {
        console.log($('.add').prop('checked'));
        if($('.add').prop('checked'))
            common.vent.trigger('messageView:add_user', { model: this.model });
        else
            common.vent.trigger('messageView:remove_user', { model: this.model });
    }
});

return UserView;

我的问题是,第一个复选框工作得很好,根据复选框的状态给我 true/false。复选框 2 -> ... 总是 return 错误。 我怀疑这是因为我尝试使用 jQuery 访问 $('.add'),这对于每个复选框都是相同的,但是我怎样才能用另一种方式做到这一点?

您可以通过执行搜索 scoped to your view 来检查您的视图 el 的子元素

 this.$('.add').prop('checked'); //equivalent to running: `this.$el.find(selector)`