$(document).ready(function() { // 1. 카테고리 탭 필터링 $('#faqCategoryTabs .nav-link').on('click', function(e) { e.preventDefault(); $('#faqCategoryTabs .nav-link').removeClass('active'); $(this).addClass('active'); const selectedCategory = $(this).data('category'); $('#faqSearchInput').val(''); // 검색어 초기화 filterFaq(selectedCategory, ''); }); // 2. 실시간 키워드 검색 $('#faqSearchInput').on('keyup', function() { const keyword = $(this).val().toLowerCase().trim(); const activeCategory = $('#faqCategoryTabs .nav-link.active').data('category'); filterFaq(activeCategory, keyword); }); $('#faqSearchBtn').on('click', function() { $('#faqSearchInput').trigger('keyup'); }); // 필터링 통합 함수 function filterFaq(category, keyword) { let visibleCount = 0; $('.faq-item').each(function() { const itemCategory = $(this).data('category'); const itemText = $(this).text().toLowerCase(); const categoryMatch = (category === 'all' || itemCategory === category); const keywordMatch = (keyword === '' || itemText.indexOf(keyword) !== -1); if (categoryMatch && keywordMatch) { $(this).show(); visibleCount++; } else { $(this).hide(); } }); // 결과 없을 시 안내 메시지 if (visibleCount === 0) { $('#noResults').removeClass('d-none'); } else { $('#noResults').addClass('d-none'); } } // 3. 1:1 문의 폼 유효성 검사 및 전송 처리 $('#inquiryForm').on('submit', function(e) { e.preventDefault(); if (!this.checkValidity()) { e.stopPropagation(); $(this).addClass('was-validated'); return; } // 전송 시뮬레이션 alert('문의가 정상적으로 접수되었습니다. 빠른 시일 내에 연락드리겠습니다.'); this.reset(); $(this).removeClass('was-validated'); }); });