Я пишу код JavaScript, где пользователь должен иметь возможность поиска по элементам измерения, который отображается во всплывающем окне с таблицей.
Код, отображающий элементыв массиве выглядит так:
$element.find("#myInput").on("qv-activate", function (){
let elemList = [];
self.backendApi.getData(requestList).then(function (dataPages) {
let elem = dataPages[0].qMatrix;
for(let i = 0; i < elem.length; i++){
elemList.push(elem[i][0].qText);
}
$(document).ready(function () {
$("#myInput").on("keyup", function () {
var value = $(this).val().toLowerCase();
for (var i=0; i<elemList.length; i++) {
if (elemList[i].toLowerCase().indexOf(value) >= 0){
$element.find('#searchTable').prepend('<tr><td id="searchElem">' + elemList[i] + '</td></tr>');
}
}
});
});
})
})
Единственная проблема в том, что когда я использую панель поиска, она представляет элемент несколько раз.Есть ли способ, которым я могу убедиться, что .prepend () только ожидает, если это не то же самое значение, что и раньше?Наподобие;если значение элемента совпадает с предварительно добавленным значением, то не стоит добавлять?
Надеюсь, это имеет смысл, и у вас есть решение моей проблемы.Спасибо!