我在JavaScript和AngularJS中有一组对象,它们有两个属性:id和checked。我想使用for循环来提取查找与所选复选框的id匹配的id,并将该对象的checked属性设置为checked。到目前为止,我已尝试过以下方法:
settings.showChecked = function (object, $event) {
for (var x in settings.rules) {
if (settings.rules.hasOwnProperty(x)) {
if (typeof settings.rules[id] == $event.currentTarget.id) {
findAndReplace(settings.rules[checked], $event.currentTarget.id);
}
if (settings.rules[id] === $event.currentTarget.id) {
settings.rules["checked"] = true;
}
}
}
console.clear();
console.log(settings.rules);
}
<div class="time-check" ng-repeat="service in settings.services">
<input type="checkbox" value="None" ng-change="settings.showChecked(settings.rules, $event)" ng-model="service.checked" class="time-check-input" id="{{level.LevelTmsCode}}-{{day.Day}}-{{service.TimeValidation}}" name="check"/>
<label for="{{level.LevelTmsCode}}-{{day.Day}}-{{service.TimeValidation}}" class="time-check-input"></label> <span>{{service.TimeValidation}}</span>
</div>
然而,当我运行它时,它跳过了typeof
条件,我知道这意味着它们不是同一类型,但却难以理解为什么这两个类型不是同一类型?
最终,我的最终目标是拥有一个已经检查过的项目列表,这些项目是从包含每个可能的选项组合的原始规则集派生的。