Javascript AngularJs-通过检查标题名称填充表
我有两个对象,一个包含选定记录,另一个包含选定字段。现在,我需要通过检查列标题名称或值来动态填充表 我提到 已完成: 我能够将标题动态添加到表/列中 工作代码在中 HTMLJavascript AngularJs-通过检查标题名称填充表,javascript,angularjs,html-table,angularjs-ng-repeat,javascript-objects,Javascript,Angularjs,Html Table,Angularjs Ng Repeat,Javascript Objects,我有两个对象,一个包含选定记录,另一个包含选定字段。现在,我需要通过检查列标题名称或值来动态填充表 我提到 已完成: 我能够将标题动态添加到表/列中 工作代码在中 HTML <table class="dataTable no-footer leadTable"> <thead> <tr role="row"> <th> <input type="checkbox
<table class="dataTable no-footer leadTable">
<thead>
<tr role="row">
<th>
<input type="checkbox" ng-model="selectedSObject[key]" class="select_tertiary_selectAll" />
</th>
<th ng-repeat="k in sFields[key]" ng-value="{{k.name}}" style="font-weight: 400; border-right: none; background-color: #0070d2; padding: 10px 18px;">
<div> {{k.label}} </div>
</th>
</tr>
</thead>
<tbody>
<tr role="row" ng-class="odd" ng-repeat="record in value.filtered">
<td>
<input type="checkbox" ng-model="record.checked" />
</td>
<td ng-repeat="(key_1, value_1) in record" style="padding: 10px 18px;">
<div> {{value_1}} </div>
</td>
</tr>
</tbody>
</table>
{{k.label}}
{{value_1}}
JS
$scope.sFields = getSFields($scope.sObjectCSVData);
$scope.iterableRecords = getiterableRecords($scope.sObjectCSVData, allRecords)
function getiterableRecords(sCSVData, allRecords) {
var sObjectRecords = {};
if (allRecords) {
Object.entries(sCSVData).forEach(function(key) {
if (sCSVData[key[0]].filtered.length != 0) {
if (sObjectRecords[key[0]]) {
sObjectRecords[key[0]].push(sCSVData[key[0]].filtered)
} else {
sObjectRecords[key[0]] = []
sObjectRecords[key[0]].push(sCSVData[key[0]].filtered)
}
}
});
}
return sObjectRecords
}
function getSFields(sCSVData) {
var fields = {};
Object.entries(sCSVData).forEach(function(key) {
if (sCSVData[key[0]].filtered.length != 0) {
for (var i = 0; i < sCSVData[key[0]].sObjectFields.length; i++) {
if (fields[key[0]]) {
fields[key[0]].push(sCSVData[key[0]].sObjectFields[i])
} else {
fields[key[0]] = []
fields[key[0]].push(sCSVData[key[0]].sObjectFields[i])
}
}
}
});
return fields
}
$scope.sFields=getSFields($scope.sObjectCSVData);
$scope.iterableRecords=getiterableRecords($scope.sObjectCSVData,allRecords)
函数getiterableRecords(sCSVData,allRecords){
var sObjectRecords={};
如果(所有记录){
Object.entries(sCSVData).forEach(函数(键){
if(sCSVData[键[0]].filtered.length!=0){
if(sObjectRecords[键[0]]){
sObjectRecords[键[0]].推送(sCSVData[键[0]]已筛选)
}否则{
sObjectRecords[键[0]]=[]
sObjectRecords[键[0]].推送(sCSVData[键[0]]已筛选)
}
}
});
}
退货记录
}
函数getSFields(sCSVData){
变量字段={};
Object.entries(sCSVData).forEach(函数(键){
if(sCSVData[键[0]].filtered.length!=0){
对于(变量i=0;i
需要做的事情:
现在,我必须通过检查列名用相应的值填充表。
我在AngularJS 1.6.9中工作,通过添加一些小更改,现在我可以填充表格了 我遵循的代码如下:
<tbody>
<tr role="row" ng-class="odd" ng-repeat="record in value[0]">
<td>
<input type="checkbox" ng-model="record.checked" />
</td>
<td ng-repeat="k in sFields[key]" style="padding: 10px 18px;">
{{record [k.name]}} </div>
</td>
</tr>
{{record[k.name]}
工作代码在下面提到的plunker中,
参考
指令
ng value
不适用于
元素。好的,我将删除它。但是我必须通过比较列名从对象填充表。