راکت

مشکل یا باگ select2

4 پاسخ

سلام دوستان..

من برای مالتی سلکت از کتابخونه select2 استفاده میکنم و آپشن تگ رو هم فعال کردم.

tags: true,

بعدش اومدم آپشن زیر رو هم فعال کردم:

maximumSelectionLength: 5,

تا اینجا همه چی اوکیه و میتونم حداکثر 5 تا تگ وارد کنم..
منتها میخوام علاوه بر اینتر با زدن اسپیس یا کاما هم کلمه نوشته شده تبدیل به تگ بشه..
این کد رو که اضافه میکنم:

tokenSeparators: [',', ' '],

حالا وقتی این اضافه شد یه مشکل بوجود میاد اونم اینه که وقتی تعداد تگ ها 5 تا شد و تگ جدید وارد کنم اگر اینتر رو بزنم که درست کار میکنه و از ایجاد تگ جلو گیری میشه ولی وقتی اسپیس و کاما رو میزنم تگ جدید هم اضافه میشه در صورتی که گفتم حداکثر 5 تا باشه..

ثبت پرسش جدید

پاسخ‌ها

4
میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

فکر می کنم حق با شماست، امتحان کردم، همین ایراد رو داره.
اینجا هم گزارش شده پیش از این:
https://github.com/select2/select2/issues/4500

JBolouri
JBolouri
@javadbolouri72

@milad

با ساخت آپشن سفارشی برای تگ یجورایی هندلش کردم..
Customizing tag creation

https://select2.org/tagging

شاید پاسخ شما همین‌جا باشد

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

ایول، می تونید کدها رو هم قرار بدین که همه بهره ببرند.

JBolouri
JBolouri
@javadbolouri72
 createTag: function (params) {
                var term = $.trim(params.term);

                if (/[^u0600-\u06FF\a-z0-9\-\/]/.test( term )  ) {
                    return null;
                  }  
                if (term.trim().length < 3) {
                    return null;
                } 
                return {

                  id: term,
                  text: term,
                  newTag: true // add additional parameters
                }
              },

صرفا میخواستم برای اضافه کردن برچسب محصول از کاراکترای نا مناسب و اسپیس استفاده نشه..

البته یه چیز دیگه هم که تو کد بالا هست اینه که چون گفته بودم حداقل سه حرف وارد کنه برای تگ، توی کد بالا گفتم که اسپیس رو جزو اون سه حرف حساب نکنه که مثلا طرف نیاد دوتا اسپیس بزنه و یه حرف بعد تگ ساخته بشه..

tokenSeparators رو کلا برش داشتم بجاش با کد بالا این مسئله رو حل کردم..

@milad

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام