0 امتیاز
قبل در برنامه نویسی توسط (72 امتیاز)
ویرایش شده قبل توسط

دوستان من با جاوااسکریپت یک autocomplete درست کردم ولی واسه یه قسمتش مشکل دارم

یک لیست ul داریم که display : none هست

یک input داریم که وقتی کاربر شروع به تایپ میکنه (onKeyUp) لیست ul با توجه به تکست واسش باز میشه (display : block)

وقتی کاربر روی یکی از گزینه ها li کلیک میکنه متن li داخل input میشینه و ul مجددا display : none میشه

حالا یه مشکلی هست وقتی کاربر چیزی مینویسه ولی روی هیچ گزینه ای از li ها کلیک نمیکنه (onClick) و فوکوس از input به یک المنت دیگه داده میشه لیست (ul) باز میمونه (display : block) چون وقتی li کلیک میخوره ul خاصیت display:none میگیره

اومدم خاصیت onBlur تکس باکس رو تعریف کردم که ul -> display : none ; ولی یه مشکل دیگه پیش میاد اونم اینه حالا اگر کاربری بخواد روی یک li کلیک کنه قبل از انجام کلیک لیست بسته میشه چون تکس باکس فوکوس رو از دست میده و لیست رو میبنده

چطوری میشه این مشکل رو حل کرد

قبلش یه نکته ای بگم که کد فقط با جاوا اسکریپت هست نه جی کوئری

پس کد جی کوئری به دردم نمیخوره و اینم میدونه که میشه autocomplete رو با جی کوئری براحتی انجام داد ولی بنا به احتیاج فقط از جاوااسکریپت میتونم استفاده کنم

نکته دیگه اینکه بازم میدونم که میشه از تگ datalist هم استفاده کرد ولی بازم این گزینه منتفیه

اینا رو گفتم که جواب ها مرتبط باشن

ممنون

سوالات مشابه

0 امتیاز
1 پاسخ 394 بازدید
0 امتیاز
1 پاسخ 397 بازدید
0 امتیاز
1 پاسخ 307 بازدید
0 امتیاز
1 پاسخ 1.0هزار بازدید
0 امتیاز
1 پاسخ 527 بازدید
0 امتیاز
1 پاسخ 1.7هزار بازدید
0 امتیاز
2 پاسخ 372 بازدید
0 امتیاز
3 پاسخ 951 بازدید
...