2016-09-20 4 views
0

Я хочу добавить свойство текста в свои элементы данных select2 и выполнить поиск.select2 поиск по двум свойствам

Например, у меня есть эти данные:

var data : 
[ 
    { id : 1, text : 'Item 1', description : 'Long text description for item 1' }, 
    { id : 2, text : 'Item 2', description : 'Long text description for item 2' }, 
    { id : 3, text : 'Item 3', description : 'Long text description for item 3' }, 
] 

Я хочу Выбор2, чтобы быть в состоянии найти результат, если я набираю текст, который соответствует описанию значение свойства в поле ввода.

Возможно ли это?

Заранее спасибо.

+0

Выбор2 работает с действительной HTML-разметкой для базового выбора. Где вы собираетесь хранить текстовую информацию, так как выбор имеет только значение и описание? –

+0

Я не знаю, может быть, в атрибуте «data-description» – T00rk

+0

, тогда вам также нужно написать собственную версию плагина. версию, которая будет устанавливать атрибут data- * в разметке select2 из html vesion параметра select и пользовательского поиска. эта функция в настоящее время не поддерживается. Я нашел хороший ответ для базовой опции поиска для стандартного выбора, но он был удален –

ответ

0

Решение для создания пользовательского Искателя и использовать его как этот

$('.select2-typeahead').select2 
({ 
    data : 
    [ 
     { id : 1, text : 'Item 1', description : 'Long text description for item 1' }, 
     { id : 2, text : 'Item 2', description : 'Long text description for item 2' }, 
     { id : 3, text : 'Item 3', description : 'Long text description for item 3' }, 
    ], 
    matcher : function(params, data, item) 
    { 
     if ($.trim(params) === '') 
     { 
      return data; 
     } 

     if(data.toLowerCase().indexOf(params.toLowerCase()) > -1 || item.description.toLowerCase().indexOf(params.toLowerCase()) > -1) 
     { 
      return data; 
     } 

     return null; 
    } 
Смежные вопросы