matcher یک callback جاوا اسکریپتی است. بنابراین در سمت کلاینت باید پیاده سازی شود (چیزی شبیه به مقدار دهی source پویای مثال آخر بحث).
مثلا:
از matcher برای سفارشی سازی و بررسی اینکه آیا عبارت تایپ شده توسط کاربر با list دریافتی تطابق دارد یا خیر، استفاده میشود. حالت پیش فرض، تطابق دقیق لیست دریافتی با متن ورودی کاربر است. با استفاده از matcher در سمت کلاینت میتوانید نحوه نمایش لیست دریافتی از سرور را سفارشی سازی کنید.
$('.typeahead').typeahead({ matcher: function(item) { // آیتم مقداری است که باید برای تطابق بررسی شود // this.query کوئری جاری را بر میگرداند. return true // اگر آیتم تطابق داشته است } })
matcher: function (item) { if (item.toLowerCase().indexOf(this.query.trim().toLowerCase()) != -1) { return true; } }