Я пытаюсь заполнить строки в моей HTML-таблице на основе моего ответа angularjs. Моя цель - сделать одну из ячеек данных таблицы в выпадающем формате.
Требования
- Раскрывающийся список будет иметь три значения (A, B и C).
- Начальное значение должно быть значением, полученным в моем
angularjs ответ.
- Другими значениями раскрывающегося списка должны быть оставшиеся значения, которые не получены в ответе.
Подробнее :
У меня есть эта строка таблицы:
<tbody>
<tr valign="middle" st-select-row="row" st-select-mode="multiple" ng-repeat="row in display_republish_records" id="{{row.botMainId}}">
<td><select class="custom-select" style="margin-left:0px" ng-model="botId" ng-options="choice.name for choice in botIds"></select></td>
<td ng-bind="row.botSet"></td>
<td ng-bind="row.botNumber"></td>
</tr>
</tbody>
И у меня есть данные ответа в этом формате:
0: {botMainId: "A", botSet: "HK64604", botNumber: "786443174705883702", $$hashKey: "object:27"}
1: {botMainId: "A", botSet: "HK65825", botNumber: "595143174706013402", $$hashKey: "object:28"}
2: {botMainId: "A", botSet: "HK67383", botNumber: "281943174706142702", $$hashKey: "object:29"}
3: {botMainId: "B", botSet: "HK72557", botNumber: "922443174706654102", $$hashKey: "object:30"}
4: {botMainId: "B", botSet: "HK73332", botNumber: "724243174706716502", $$hashKey: "object:31"}
5: {botMainId: "A", botSet: "HK74025", botNumber: "379943174706764502", $$hashKey: "object:32"}
6: {botMainId: "A", botSet: "HK74694", botNumber: "825843174706807002", $$hashKey: "object:33"}
7: {botMainId: "C", botSet: "HK74819", botNumber: "563543174706827202", $$hashKey: "object:34"}
8: {botMainId: "C", botSet: "HK75964", botNumber: "423643174706902802", $$hashKey: "object:35"}
9: {botMainId: "B", botSet: "HK76384", botNumber: "678043174706923902", $$hashKey: "object:36"}
Исходя из этих данных, раскрывающийся список в первом ряду, втором ряду и третьем Доу должен содержать начальное значение как A, а затем B, C как другие значения раскрывающегося списка.
Четвертый и пятый ряды должны содержать B в качестве начального значения и C и A в качестве других выпадающих значений и т. Д.
Теперь, мой JS из того, что я пробовал до сих пор:
$http({
'url' : '/myURL',
'method' : 'POST',
'headers' : {
'Content-Type' : 'application/json'
}
}).then(function(response) {
console.log(response.data);
var arrayLength = response.data.length;
for (var i = 0; i < arrayLength; i++) {
/* console.log(response.data[i].botMainId);*/
var botRuleCode1 = null;
var botRuleCode2 = null;
var botRuleCode3 = null;
if (response.data[i].botMainId == 'A'){
botRuleCode1 = 'A';
botRuleCode2 = 'B';
botRuleCode3 = 'C';
} else if (response.data[i].botMainId == 'B'){
botRuleCode1 = 'B';
botRuleCode2 = 'A';
botRuleCode3 = 'C';
} else {
botRuleCode1 = 'C';
botRuleCode2 = 'B';
botRuleCode3 = 'A';
}
$scope.botIds = [ {
id : botRuleCode1,
name : botRuleCode1
}, {
id : botRuleCode2,
name : botRuleCode2
}, {
id : botRuleCode3,
name : botRuleCode3
}];
$scope.botId = $scope.botIds[0];
}
$scope.botData = response.data;
$window.scrollTo(0, 0);
})
Этот скрипт примет последнее значение for
, установленное для всех раскрывающихся списков, создав общее значение раскрывающегося списка для всех строк.
Может кто-нибудь помочь с тем, как я могу изменить этот код?