メインコンテンツへスキップ

タグ: 『検索』

プロジェクト検索

関連プロジェクトを検索 以下のフィルターを使用して、完全なプロジェクト履歴をご覧ください。年、キーワード、または業界で検索して、お客様のニーズに類似したプロジェクトを見つけてください。 年でフィルター すべての年 プロジェクトを検索 フィルター条件に一致するプロジェクトが見つかりませんでした。検索条件を調整してみてください。 (function() { const projectsData = {{ projects |> JSON.stringify }}; const yearFilter = document.getElementById('year-filter'); const searchFilter = document.getElementById('search-filter'); const projectsContainer = document.getElementById('projects-container'); const projectsCount = document.getElementById('projects-count'); const noResults = document.getElementById('no-results'); // 一意の年を抽出してドロップダウンに追加 const years = [...new Set(projectsData.map(p => p['DateYYYY-MM-DD'].split('-')[0]))].sort((a, b) => b - a); years.forEach(year => { const option = document.createElement('option'); option.value = year; option.textContent = year + '年'; yearFilter.appendChild(option); }); function formatDescription(description) { // 改行をHTMLに変換 return description.replace(/\r\n/g, '').replace(/\n/g, ''); } function escapeHtml(text) { const div = document.createElement('div'); div.textContent = text; return div.innerHTML; } function renderProjects(projects) { if (projects.length === 0) { projectsContainer.innerHTML = ''; projectsContainer.classList.add('hidden'); noResults.classList.remove('hidden'); projectsCount.textContent = ''; return; } projectsContainer.classList.remove('hidden'); noResults.classList.add('hidden'); projectsCount.textContent = ${projects.length}件のプロジェクトを表示中; projectsContainer.innerHTML = projects.map(project => ` ${escapeHtml(project.DateJP)} ${escapeHtml(project['顧客タイプ'])} ${formatDescription(escapeHtml(project['記事']))} `).join(''); } function filterProjects() { const selectedYear = yearFilter.value; const searchTerm = searchFilter.value.toLowerCase().trim(); let filtered = projectsData; // 年でフィルター if (selectedYear !== 'all') { filtered = filtered.filter(p => p['DateYYYY-MM-DD'].startsWith(selectedYear)); } // 検索語でフィルター if (searchTerm) { filtered = filtered.filter(p => { const description = p['記事'].toLowerCase(); const clientType = p['顧客タイプ'].toLowerCase(); const date = p.DateJP.toLowerCase(); return description.includes(searchTerm) || clientType.includes(searchTerm) || date.includes(searchTerm); }); } renderProjects(filtered); } // イベントリスナー yearFilter.addEventListener('change', filterProjects); searchFilter.addEventListener('input', filterProjects); // 初期表示 - すべてのプロジェクトを表示 renderProjects(projectsData); })();
著者 株式会社イソリア読了目安: 3分