Показать сообщение отдельно
  #12 (permalink)  
Старый 29.08.2019, 04:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от nathan111777
вы можете помочь слепить мне эти два кода?
Нет, лепить я ничего не стану. Нужно не слепливать, а добавлять фильтр в код, используя тот подход, который у вас уже есть. Это потому, что неизвестно чего вы добиваетесь, а "второй код", то есть фильтр, не будет работать, например, в осликах по версию 11 включительно. А если вы хотите поддержки, то слепив, получите вместо нее проблемы потому как фильтр использует новшества JS.

А если я бы писал, то изменил бы все, в первую очередь начиная со структуры данных товаров, ибо хранить вы упорно хотите все в куче, о возможностях сервера вообще не думаете, а добавив фильтр, а потом еще захочется его и запоминать, и это все означает "шмалять" постоянно весь объект, который в итоге у вас вполне может быть не хилым, а это как-то не по людски.

Поэтому, пока попробуйте сами на своем "первом коде", выкинув и забыв о втором (в плане кода). В своем коде нужно только добавить одну вещь о чем я писал выше - в событии загрузки документа нужно получать ajax запросом товары, присваивая результат переменной, с которой потом вывод товаров и фильтр будут работать. То есть как я писал выше, вывод товаров это отдельная функция без ajax запроса.

В эту функцию, в свой код (for (var key in data) ....) нужно добавить проверку по параметрам выбранным в элементах фильтра. При изменениях выбора в фильтре опять производить вызов функции вывода товаров. Вот и будет у вас фильтрация.

Последний раз редактировалось laimas, 29.08.2019 в 04:05.
Ответить с цитированием