jQuery自动填充显示包含所有搜索条件累积的结果

时间:2014-11-15 13:15:11

标签: jquery autocomplete

我尝试使用jquery实现自动完成功能。 对于整个单词来说,一切都可以,但是对于sepatare,它是行不通的。 例如,如果我的数据包含: 1)我的蓝色车 2)我最喜欢的车 3)我最喜欢的红色汽车

我需要输入" car"和"红色"只返回最后的数据"我最喜欢的红色汽车" 我使用了term.split('')但是在这种情况下,结果将包含所有三个记录,因为所有记录都包含" car",但是我只需要显示最后一条记录包含所有搜索的术语。 请问你能帮帮我吗? 感谢

我的代码:

var dateintroVar = [
{  labbel: 'my blue car', value: 'my blue car', data: '1'},
{  labbel: 'my favourite car', value: 'my favourite car', data: '2'},
{  labbel: 'my favourite red car', value: 'my favourite red car', data: '3'}

];

$(function() {
$( "#campcompl" ).autocomplete({
    minLength: 2,
    source: dateintroVar,
    focus: function( event, ui ) {
    $( "#campcompl" ).val( ui.item.labbel);
    $( "#txt1b" ).val( ui.item.data );
    return false;
},
select: function( event, ui ) {
    $( "#campcompl" ).val( ui.item.labbel);
    $( "#txt1b" ).val( ui.item.data );
    return false;
 }
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
  return $( "<li>" )
 .append( "<a>" + item.labbel + "</a>" )
 .appendTo( ul );
};

});

在jquery-ui.js中修改:

    filter: function(array, term) { var matcher;    var keys = term.split(' ');
        $.each(keys, function(index, value) {       
matcher = new RegExp( $.ui.autocomplete.escapeRegex(value), "i" ); });      
return $.grep( array, function(value) {     
    return matcher.test( value.label || value.value || value );
                }); }

0 个答案:

没有答案