我正在跟踪单击复选框以更改 li 的类,然后触发另一个函数来更新 javascript 对象中的值。它第一次起作用,但随后单击列表中的任何复选框都不会产生任何结果。
如果我将 .checkboxradio("refresh") 添加到类更改的末尾,则框和类更改将再次起作用,但对象不会更新。
$(".goals").delegate("input[type=checkbox]", "click", function() {
goalguid = $(this).parent().parent().data("goalguid");
emailGoal = $(this).parent().data('goal');
if ($(this).prop("checked")) {
$(this).parent().parent().removeClass("inprogress missed").addClass("completed").prop("checked", true);
updateStatus = 'completed';
return updateTheGoal();
} else {
$(this).parent().parent().removeClass("completed").addClass("inprogress").prop("checked", false);
updateStatus = 'inprogress';
return updateTheGoal();
}
});
updateTheGoal = function() {
var goalList;
$.each(goals, function(i, el) {
if (el.goalguid === goalguid) {
el.status = updateStatus;
return false;
}
});
localStorage.setItem("goals", JSON.stringify(goals));
goalList = $.grep(goals, function(e) {
return e.userguid === userguid;
});
localStorage.setItem(userguid + "Goals", JSON.stringify(goalList));
logSummary();
return displayMyGoalList();
};
我的猜测是运行对象更新功能会以某种方式阻止其他点击,但我无法到达那里。
任何帮助深表感谢。