استخدام وظيفة اختيار كريتشيرتشويس سيليكت2

StackOverflow https://stackoverflow.com//questions/11674647

  •  12-12-2019
  •  | 
  •  

سؤال

أحاول استخدام وظيفة كريتسيرتششويس للسماح للمستخدمين بإدخال اختيارهم عندما القائمة الافتراضية لن تكفي.عندما أحاول استخدام هذه الوظيفة على <select> العنصر ، أحصل على الخطأ التالي:

Error: Error: Option 'createSearchChoice' is not allowed for Select2 when attached to a <select> element.

حاولت استخدام <input type='hidden'> بدلا من ذلك ، ولكن الآن الحصول على الخطأ التالي:

Error: uncaught exception: query function not defined for Select2 'MyInputName'

أفضل استخدام عنصر التحديد للبقاء متماشيا مع التعليمات البرمجية الحالية (تحتاج إلى القدرة على تحديد خيارات متعددة) ، ولكن تحتاج فقط إلى قدرة المستخدمين على إدخال خيارهم الخاص بالإضافة إلى الاختيار من قائمة سابقة.

هل كانت مفيدة؟

المحلول

يا إلهي ، كيف يمكنني إلغاء هذه المكافأة.لقد أصبت بالذعر وبسبب الذعر تمكنت من الإجابة على ما كنا نبحث عنه:

لا يمكنك استخدام createSearchChoice على select.لذلك عليك استخدام ملف input بدلا من ذلك.

<input type="hidden" id="category">

الإصلاح هو استخدام query المعلمة:

$("#category").select2({query:function(query){
  var data = {results: []};
  data.results.push({text: query.term});
  query.callback(data);
}});

ما يفعله هذا هو إضافة المصطلح الحالي إلى الخيارات إذا لم يكن موجودا.يمكنك ملء results كائن مثل ذلك:

var data = {results: [{text:'math'},{text:'science'}]};

هذا حل مشكلتي لذلك آمل أن تحل مشكلتك.أعتقد أننا يجب أن نقرأ المزيد عن الوثائق.

نصائح أخرى

واجهت هذه المشكلة وكان ذلك بسبب استدعاء التحديد 2 في نفس الحقل مرتين

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top