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)`
我目前正在为 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)`