JBolouri
4 سال پیش توسط JBolouri مطرح شد
4 پاسخ

مشکل یا باگ select2

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

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

tags: true,

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

maximumSelectionLength: 5,

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

tokenSeparators: [',', ' '],

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


ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
1

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


JBolouri
@javadbolouri72 4 سال پیش مطرح شد
1

@milad

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

https://select2.org/tagging


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 4 سال پیش مطرح شد
1

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


JBolouri
@javadbolouri72 4 سال پیش مطرح شد
1
 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


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

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