У меня следующая проблема, я не знаю, как ее решить.
У меня есть раскрывающееся меню и таблица, и если выбран один элемент раскрывающегося списка, в таблице должны отображаться только элементы.которые находятся в этой группе.
данные поступили из внешней службы и будут обновляться каждую минуту, вызывая vehicleShowHide();
и refreshTable();
(получить данные таблицы и создать таблицу).
Я создаю массив с идентификаторами, и теперь я хочу сравнить идентификаторы в массиве с идентификаторами в таблице, чтобы показать только результат и скрыть остальные.
раскрывающийся список:
<select class="custom-select custom-select-sm" onchange="showVehicleGroup(value)">
<option value="" selected="">Alle Gorups</option>
<option value="1-44060-041414BE3">Alle Vehicle (101)</option>
<option value="1-44060-5211861A0">Group1 (42)</option>
<option value="1-44060-477E11472">Group2 (3)</option>
<option value="1-44060-4774E43D7">Group4 (23)</option>
<option value="1-44060-288B143F2">Group5 (3)</option>
<option value="1-44060-730090EA1">Group6 (6)</option>
</select>
таблица (упрощенная):
<table id="vehicleTable" class="table table-hover table-sm">
<thead>
</thead>
<tbody id="vehicleTableBody">
<tr id="102">
<td>Text</td>
</tr>
<tr id="103">
<td>Text</td>
</tr>
<tr id="104">
<td>Text</td>
</tr>
<tr id="105">
<td>Text</td>
</tr>
<tr id="106">
<td>Text</td>
</tr>
</tbody>
</table>
jQuery:
function showVehicleGroup(value) {
if (groupFilterArray.length === 0) {
// do nothing
} else {
groupFilterArray = [];
}
$(vehicleObjectsArray).each(function(key, element) {
if (element.objectgroupuid === value) {
groupFilterObject = element.objectno
groupFilterArray.push(groupFilterObject);
} else {
// do nothing
}
});
vehicleShowHide();
}
function vehicleShowHide() {
groupFilterArray = [ "103", "105", "106" ];
$('#vehicleTable').each(function() {
// here I do not know how to compare the groupFilterArray with the table rows by id
if () {
$('#vehicleTable tbody tr#id').show();
} else {
$('#vehicleTable tbody tr').hide();
}
});
внешний json (извлечение):
[
{
"objectgroupname": "Group1",
"objectno": "102",
"objectname": "xxxxx",
"objectuid": "1-44060-53078611D",
"objectgroupuid": "1-44060-041414BE3"
},
{
"objectgroupname": "Group2",
"objectno": "103",
"objectname": "xxxxx",
"objectuid": "1-44060-3236707EF",
"objectgroupuid": "1-44060-477E11472"
}
]