Я бы посоветовал подойти к этой задаче с помощью Vanilla JavaScript (то есть без jQuery).Вы можете получить элемент <select>
следующим образом:
var dropdownEl = document.getElementById("Seats");
И затем получить доступ к выбранному параметру следующим образом:
var dropdownValue = dropdownEl.options[dropdownEl.selectedIndex].value;
И затем выполнить фильтрацию так, как вам нужно (при условии, что правило фильтрацииэто то, что вы написали выше d.Seats > dropdownValue.trim()
):
availableRooms = availableRooms.filter(d => d.Seats > dropdownValue.trim());
Еще одно важное замечание Если бы вы могли превратить значения параметров в один объект или массив, содержащий параметры выпадающего меню, например:
var dropdownOptions: [
{
text: "<= 5",
value: "le5"
},
{
text: "<= 10",
value: "le10"
},
{
text: "<= 15",
value: "le15"
},
...
]
Вы могли бы легче визуализировать элементы <option>
и передать свойство text
для видимой части, а затем легко повторить value
без необходимости разбирать выбранное значение, как высделал с .text()
и .trim()
или любым другим анализом, который вам может понадобиться в будущем для обработки необработанных значений - все это можно предотвратить, и вы также получите более элегантный и читаемый код.