#javascript #json #searchbar
#javascript #json #панель поиска
Вопрос:
Прямо сейчас у меня есть панель поиска на моем веб-сайте, и ее единственная функция — вызывать категории в моем списке.
Но мой поиск по фильтру справа уже делает это. Итак, мне было интересно, может ли кто-нибудь помочь мне понять, как запрограммировать панель поиска для поиска продуктов вместо этого, чтобы любой, кто попадает в мой список, мог получить свои результаты из них.
Ниже приведен код, который у меня есть, и, опять же, он позволяет моей панели поиска выполнять поиск только по категориям.
var array_html = "";
var data_array = boroughs[property];
for (var i in data_array) {
array_html =
"<b>" "<u>"
data_array[i]["business"]
"</b></u><br />" "<i>"
data_array[i]['adderess']
"</i>"
data_array[i]['owner']
"<br />"
'<a href="http://'
data_array[i]['website'] '" target=_blank" title="Opens in a new window">'
data_array[i]['website'] '</a>'
data_array[i]['neighbourhood']
"<br />"
'<a href="'
data_array[i]['maps'] '" target=_blank" title="Opens in a new window">'
'<p> Open Maps </p>' '</a>' "<p class='products'>" //products is defined
data_array[i]["products"] '</p>'
"<br />" "<br />";
}
var collapse_html =
'<div class="collapse show" id="'
property.split(" ").join("_")
'">'
'<div class="card card-body">'
array_html
"</div>"
"</div>";
final_html = boroughs_html collapse_html;
}
return final_html;
}
//search functionality
const search_btn_input = document.getElementsByClassName(
"search_btn_input "
)[0];
const categories = document.getElementsByClassName("category_name");
const products = document.getElementsByClassName("products");
search_btn_input.addEventListener("input", (e) => {
var search_key = search_btn_input.value.toUpperCase();
for (var i in categories) {
var category_name = categories[i].innerHTML;
var products_name = products[i].innerHTML;
if (category_name != undefined) {
category_name = category_name.toUpperCase();
} else {
return;
}
//search button recognizing the word
if (category_name.includes(search_key)) {
categories[
i
].parentElement.parentElement.parentElement.parentElement.style.order = -1;
} else {
categories[
i
].parentElement.parentElement.parentElement.parentElement.style.order = 0;
}
}
});
в идеале, когда кто-то вводит значение продукта в строке поиска, это просто переместит этот бизнес с этим продуктом в самый верх столбца.
Комментарии:
1. Как этот вопрос связан с таблицами Google?
2. вся информация о каждом бизнесе извлекается из таблиц Google, а панель поиска вызывает информацию по категориям, я просто хочу знать, как заставить ее вызывать продукты вместо этого. Это не вопрос о таблицах Google, я просто добавил это на случай, если это имело значение.