Сообщение от nathan111777
|
вы можете помочь слепить мне эти два кода?
|
Нет, лепить я ничего не стану. Нужно не слепливать, а добавлять фильтр в код, используя тот подход, который у вас уже есть. Это потому, что неизвестно чего вы добиваетесь, а "второй код", то есть фильтр, не будет работать, например, в осликах по версию 11 включительно. А если вы хотите поддержки, то слепив, получите вместо нее проблемы потому как фильтр использует новшества JS.
А если я бы писал, то изменил бы все, в первую очередь начиная со структуры данных товаров, ибо хранить вы упорно хотите все в куче, о возможностях сервера вообще не думаете, а добавив фильтр, а потом еще захочется его и запоминать, и это все означает "шмалять" постоянно весь объект, который в итоге у вас вполне может быть не хилым, а это как-то не по людски.
Поэтому, пока попробуйте сами на своем "первом коде", выкинув и забыв о втором (в плане кода). В своем коде нужно только добавить одну вещь о чем я писал выше - в событии загрузки документа нужно получать ajax запросом товары, присваивая результат переменной, с которой потом вывод товаров и фильтр будут работать. То есть как я писал выше, вывод товаров это отдельная функция без ajax запроса.
В эту функцию, в свой код (for (var key in data) ....) нужно добавить проверку по параметрам выбранным в элементах фильтра. При изменениях выбора в фильтре опять производить вызов функции вывода товаров. Вот и будет у вас фильтрация.