【发布时间】:2015-12-07 23:44:11
【问题描述】:
在 Backbone Marionette 复合视图中,我使用以下代码。
events: {
'click th': 'doSort',
'click #selectAllGroups': 'allMembersSelected'
},
allMembersSelected: function(event) {
var selectAll;
if ($("#selectAllGroups").prop('checked') == true) {
selectAll = true;
} else {
selectAll = false;
}
var allCheckboxes = document.getElementsByName("selectGroupCheckBox");
for (var i = 0, n = allCheckboxes.length; i < n; i++) {
allCheckboxes[i].checked = selectAll;
}
},
#selectAllGroups 实际上是复选框,用于选择和取消选择列表中的所有复选框。 allMembersSelected 函数仅在第一次单击复选框时被调用,不会在任何后续单击时调用。 有趣的一点是,如果我从代码中删除以下部分,点击处理程序将在后续点击时被调用,并且问题不会出现。
if ($("#selectAllGroups").prop('checked') == true) {
selectAll = true;
} else {
selectAll = false;
}
【问题讨论】:
-
试试
if ($("#selectAllGroups").prop('checked') == "true") { -
==是通用条件(可以检查字符串或布尔值)。 @GuruprasadRao。这是不正确的方式
标签: javascript jquery backbone.js