- لما يبحث المستخدم عن كلمة واحدة تضهر جميع النتائج الي تحتوي هذي الكلمة
- اذا ادخل كلمتين تضهر النتائج الي تحوي( الكلمتين معا ) حصرا . وهكذا
- ليس بالضروره ان تكون الكلمتين او اكثر متتاليتين
ممكن كود سهل لانشاء محرك بحث باستخدام جافاسكربت فقط .
ستحتاج إلى البحث من خلال مصفوفة، وتصفية البيانات باستخدام ميثود filter() لإرجاع العناصر التي تحتوي على جميع الكلمات المدخلة ثم عرض النتائج المطابقة .
كالتالي:
<!DOCTYPE html>
<html>
<head>
<title>محرك بحث بسيط</title>
</head>
<body>
<h1>محرك بحث بسيط</h1>
<input type="text" id="search-box" placeholder="ابحث هنا...">
<button onclick="search()">بحث</button>
<div id="results">
<h2>النتائج:</h2>
<ul id="results-list">
</ul>
</div>
<script>
const data = [
"تفاح",
"مانجو",
"موز",
" مانجو سكري",
"تفاح أحمر"
];
function search() {
const searchTerm = document.getElementById("search-box").value.toLowerCase();
const searchTerms = searchTerm.split(" ");
const resultsList = document.getElementById("results-list");
resultsList.innerHTML = "";
if (searchTerm === "") {
return;
}
const matchingResults = data.filter(item => {
return searchTerms.every(term => item.toLowerCase().includes(term));
});
if (matchingResults.length > 0) {
matchingResults.forEach(result => {
const listItem = document.createElement("li");
listItem.textContent = result;
resultsList.appendChild(listItem);
});
} else {
const listItem = document.createElement("li");
listItem.textContent = "لا توجد نتائج مطابقة.";
resultsList.appendChild(listItem);
}
}
</script>
</body>
</html>
التعليقات