Это невозможно сделать без изменения ядра плагина в jQuery-tokeninput.js. В принципе вам нужно разделить свойствоToSearch на два места и сделать некоторые вещи для каждого найденного свойства.
Пример того, что я сделал (около линии 924):
var this_li;
if($(input).data("settings").propertyToSearch.indexOf(',') > -1){
var propertiesToSearch = $(input).data("settings").propertyToSearch.split(',');
}
if(typeof propertiesToSearch != 'undefined' && propertiesToSearch.length > 0){
this_li = $(input).data("settings").resultsFormatter(value);
$.each(propertiesToSearch, function(index, property){
this_li = find_value_and_highlight_term(this_li ,value[property], query);
});
this_li = $(this_li).appendTo(dropdown_ul);
}
else{
this_li = $(input).data("settings").resultsFormatter(value);
this_li = find_value_and_highlight_term(this_li ,value[$(input).data("settings").propertyToSearch], query);
this_li = $(this_li).appendTo(dropdown_ul);
}
И подобного изменения вокруг линии 1091:
// Do the search through local data
var results = $.grep($(input).data("settings").local_data, function (row) {
if($(input).data("settings").propertyToSearch.indexOf(',') > -1){
var propertiesToSearch = $(input).data("settings").propertyToSearch.split(',');
}
if(typeof propertiesToSearch != 'undefined' && propertiesToSearch.length > 0){
var status = false;
$.each(propertiesToSearch, function(key, value){
if(row[value].toLowerCase().indexOf(query.toLowerCase()) > -1){
status = true;
}
});
return status;
}
else{
return row[$(input).data("settings").propertyToSearch].toLowerCase().indexOf(query.toLowerCase()) > -1;
}
});