مدیاویکی:Common.js: تفاوت میان نسخهها
Esfandiari (بحث | مشارکتها) بدون خلاصۀ ویرایش |
Esfandiari (بحث | مشارکتها) بدون خلاصۀ ویرایش |
||
| خط ۷۲۷: | خط ۷۲۷: | ||
}); | }); | ||
=================================================== | =================================================== | ||
/* سیستم جستجوی شهرها */ | |||
$(document).ready(function() { | |||
if ($('#city-search-wrapper').length) { | |||
const data = [ | |||
{ "province": "آذربایجان شرقی", "cities": ["تبریز", "مراغه", "مرند", "بناب"] }, | |||
{ "province": "تهران", "cities": ["تهران", "اسلامشهر", "شهریار", "قدس", "پردیس", "قرچک"] }, | |||
{ "province": "اصفهان", "cities": ["اصفهان", "کاشان", "خمینیشهر", "نجف آباد"] }, | |||
// اینجا میتوانید بقیه شهرها را اضافه کنید | |||
]; | |||
const input = document.getElementById('search-input'); | |||
const container = document.getElementById('results-container'); | |||
function render(filter = "") { | |||
container.innerHTML = ""; | |||
const filtered = data.filter(item => | |||
item.province.includes(filter) || item.cities.some(c => c.includes(filter)) | |||
); | |||
filtered.forEach(item => { | |||
const section = document.createElement('div'); | |||
section.className = 'province-section'; | |||
section.innerHTML = ` | |||
<div class="province-title">${item.province}</div> | |||
<ul class="city-list"> | |||
${item.cities.filter(c => c.includes(filter)).map(c => `<li>${c}</li>`).join('')} | |||
</ul> | |||
`; | |||
container.appendChild(section); | |||
}); | |||
} | |||
input.addEventListener('input', (e) => render(e.target.value)); | |||
render(); | |||
} | |||
}); | |||
============================================================== | |||