مجید
3 سال پیش توسط مجید مطرح شد
1 پاسخ

جستجو پیشرفته

سلام
من داخل پنلم قسمت ثبت سفارش دارم مشتری محصول رو از داخل select انتخاب میکنه
از select 2 استفاده میکنم اما در جستجو ضعیف هست و باید عین کلمات و به ترتیب وارد شود تا پیدا بشه
من میخوام به شکلی باشه که اگر حتی در یک عبارت کلمات به ترتیب هم وارد نشن و تا حدودی شبیه باشن نمایش داده بشن
آیا الگوریتمی وجود دارد که بتونم با ajax فراخوانی کنم ؟
و اینکه تعداد محصولات زیاد هست و گاها یک محصول با چندین نام شناخته میشه که بنده فقط یک نام رو در دیتا بیس وارد کردم
پیشنهادی در این خصوص دارین ؟
ممنون میشم راهنمایی بفرمایید


ثبت پرسش جدید
مهران مرندی
تخصص : برنامه نویس
@mehranmarandi 3 سال پیش مطرح شد
0

بله select2 قابلیت جستجور remote با ajax هم داره
https://select2.org/data-sources/ajax
سمت سرور میتونید ورودی کاربر رو فیلتر کنید و روی چند attribute جستجو کنید تا نتیجه مطلوبتری بگیرید
برای جستجو در خود صفحه هم میتونید تغییراتی در جستجو select2 انجام بدید

function matchCustom(params, data) {
    // If there are no search terms, return all of the data
    if ($.trim(params.term) === '') {
      return data;
    }

    // Do not display the item if there is no 'text' property
    if (typeof data.text === 'undefined') {
      return null;
    }

    // `params.term` should be the term that is used for searching
    // `data.text` is the text that is displayed for the data object
    if (data.text.indexOf(params.term) > -1) {
      var modifiedData = $.extend({}, data, true);
      modifiedData.text += ' (matched)';

      // You can return modified objects from here
      // This includes matching the `children` how you want in nested data sets
      return modifiedData;
    }

    // Return `null` if the term should not be displayed
    return null;
}

$(".js-example-matcher").select2({
  matcher: matchCustom
});

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

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