كيف ابرمج AutoComplete للداتابيس(من خلال عرضها في المستعرض اثناء كتابة كلمة ما للبحث عنها ) في ال من خلال استعراض الداتا عند كتابة أول حرف وبالترتيب حسب الاحرف ؟
كيف أُبرمج AutoComplete للداتابيس داخل ال <Input> في شريط البحث ؟
- هناك بعض الإضافات تُسهل المهمة منها
- يُمكنك جلب البيانات دُفعة واحدة وتمريرها للإضافة أو ضبط إعدادات الـ AJAX في الإضافة للتخاطب مع الخادم لجلب التكملة التلقائية منه في كل مرة إن كان حجم البيانات كبير.
قم بعمل هاندلر (onchange) على ال input وعند تغير النص قم بعمل طلب عن طريق الاجاكس الى صفحة بلموقع تقوم بارجاع النتائج المطابقة من قاعدة البيانات، ثم اظهر القائمة اسفل ال input من خلال جافاسكربت.
شيء مثل هذا:
var input = document.getElementById('tag')
input.onchange = function(e) {
var value = e.target.value
if (value) {
$.get('mysite.com/tags/?tag=' + value)
.then(function(tags) {
// اعرض القائمة
})
.catch(function(e) {
alert('خطأ')
})
}
}
بالتأكيد يمكنك تحويله لجيكويري، لكن لم استخدم من جيكويري الا $.get لعلك لا تعرف جيكويري بعد
واذا كنت لا تعرف معنى الاجاكس، فعليك تعلمه اولا
- @wgh الحدث onchange في javaScript لا يصلح لعملية التكملة التلقائية في الحقول، لأن الحدث يعني حالة تغير الحقل بعد مغادرته وليس أثناء الكتابة فيه، ففي هذه الحالة الأنسب هو استخدام الحدث oninput في javaScript وفي jQuery هو input أو استخدام أحداث لوحة المفاتيح onkeyup و onkeydown ولكن هذا الخيار لا يصلح للأجهزة اللمسية وأجهزة الهواتف.
التعليقات