Javascript ng checked为真但未启用?
我的数据看起来像是,每个条目都是日志,来自SupportService 在我的控制器中,我将其用作Javascript ng checked为真但未启用?,javascript,angularjs,Javascript,Angularjs,我的数据看起来像是,每个条目都是日志,来自SupportService 在我的控制器中,我将其用作 $scope.logs = SupportService.logs; $scope.selectedLogs = ["file C"]; 这就是我在HTML表格上打印它们的方式 <table class="logsTable"> <thead> <tr> <th>#</th>
$scope.logs = SupportService.logs;
$scope.selectedLogs = ["file C"];
这就是我在HTML表格上打印它们的方式
<table class="logsTable">
<thead>
<tr>
<th>#</th>
<th>File Name</th>
<th>Last Updated</th>
<th>Size</th>
<th>Location</th>
</tr>
</thead>
<tr ng-repeat="log in logs">
<td>
<input type="checkbox"
ng-checked="selectedLogs.indexOf(log.fileName) != -1"
ng-click="toggleSelect(log)">
</td>
<td>{{log.fileName}}</td>
<td>{{log.lastUpdated}}</td>
<td>{{log.size}}</td>
<!--<td>{{log.location}}</td>-->
<td>{{selectedLogs.indexOf(log.fileName) != -1}}</td>
</tr>
</table>
即使其中一个条目为true,也不会选中该复选框。我看到的只是
这里有什么问题?我想您可能在引用模型时出错了。我简化了您的示例,删除了该服务,这里有一个工作示例: 因此,控制器或服务中可能存在某些内容。。。您是否可以尝试直接在控制器中定义示例数据,如下所示
$scope.logs = [{
"fileName": "file A",
"location": "logs/fileA",
"size": "20000",
"lastUpdated": "May 04, 2015 09:21PM"
},{
"fileName": "file B",
"location": "logs/fileB",
"size": "4034300",
"lastUpdated": "May 01, 2015 01:21PM"
},{
"fileName": "file C",
"location": "logs/fileC",
"size": "53437000",
"lastUpdated": "May 02, 2015 03:11PM"
}
];
若这并没有帮助,请发布完整的服务正文,并跳过不相关的部分不,我并没有在这里使用ngModel每个重复的元素都有自己的作用域,所以请尝试$parent.$parent.selectedLogs.indexOflog.fileName!=-1.这对@R3tep也没有帮助。奇怪的是,当我刷新页面时,我看到所有的页面都启用了,然后突然消失了。他们像你一样使用ng repeat。我把你的示例放在一个plunker中,它可以正常工作:这应该是一个注释,而不是一个答案,因为它实际上并没有回答问题
$scope.logs = [{
"fileName": "file A",
"location": "logs/fileA",
"size": "20000",
"lastUpdated": "May 04, 2015 09:21PM"
},{
"fileName": "file B",
"location": "logs/fileB",
"size": "4034300",
"lastUpdated": "May 01, 2015 01:21PM"
},{
"fileName": "file C",
"location": "logs/fileC",
"size": "53437000",
"lastUpdated": "May 02, 2015 03:11PM"
}
];