У меня есть этот раздел, где пользователь может определить фильтрацию результатов поиска, которые он / она получает с веб-сайта.
- Цена жесткого диска ($)
- Емкость жесткого диска (ГБ)
- Макс. Стоимость за ГБ ($ / ГБ)
Все 3 могут быть изменены пользователем. Однако, поскольку есть 2 независимые переменные, определяющие 3 значения, выбор 3 значений фильтра по отдельности может дать 0 результатов. то есть. $300 harddisk, 100GB & Lesser than $1/GB
. Решение состоит в том, чтобы позволить пользователю одновременно изменять любые 2 из 3 опций фильтра и автоматически определять значение для 3-го фильтра.
Проблема: Мне нужно поведение включения / выключения, подобное этому: Когда пользователь выбирает фильтр № 1 (price of harddisk = $100
), затем фильтр № 2 (harddisk capacity = 100GB
), когда он выбирает значение для фильтра # 3 ($5/GB
), # 1 будет автоматически пересчитан в $500
. Если он должен был изменить фильтр № 1 (harddisk cost = $200
), то фильтр № 2 будет изменен на Capacity of Harddisk = $40
на основе фильтров № 1 и № 3.
Как мне добиться этого в jQuery / Javascript?
Мои мысли: Что-то вроде стека, содержащего только 2 значения, в порядке выбора фильтров. Когда пользователь выбирает фильтр № 1, а затем № 2, стек содержит {1, 2}, поэтому фильтр № 3 будет рассчитан с использованием фильтров № 1 и № 2. Когда пользователь затем выбирает # 3, 1 выталкивается из стека, а 3 вводится, что приводит к {2,3}, поэтому фильтр # 1 будет рассчитан с использованием фильтров # 2 и # 3. Однако, похоже, что-то может пойти не так с этим методом ...