2011-02-11 83 views
0

我有jQuery和自動完成插件設置。自動完成工作正常,我設置的寬度和查找的各種選項都可以。但不起作用的是matchContains選項。根據the doc「比較是否在內部查找(即,」ba「是否匹配」foo bar「)搜索結果。僅在使用緩存時才重要,不要與自動填充混合。但它並沒有在搜索結果中尋找內容。例如,「ba」不會找到「foo bar」。jQuery自動完成:matchContains不工作

<script type="text/javascript" src="styles/prosilver/template/jquery.js"></script> 
<script type="text/javascript" src="styles/prosilver/template/jquery.autocomplete.js"></script> 


<script type="text/javascript"> 
// <![CDATA[ 

/* Zeno */ 
function translatestyle(text) 
{ 
    var val = document.getElementById('query').value; 
    var lang = '{S_USER_LANG}'.substring(0,2); 
    var list = "{TRANS_LIST}"; 
    var arr = list.match(val); 
    if (arr == null) 
    { 
     alert('That is not a valid translation term.'); 
    } 
    else 
    { 
     insert_text('[translate='+lang+']'+val+'[/translate]'); 
     document.forms[form_name].elements[text_name].focus(); 
    } 
} 


    var a2; 

    jQuery(function() { 

    var onAutocompleteSelect = function(value, data) { 
     $('#selection').html('<img src="\/global\/flags\/small\/' + data + '.png" alt="" \/> ' + value); 
     alert(data); 
    } 

    var options = { 
     serviceUrl: '/projects/autocomplete/service/autocomplete.ashx', 
     matchContains: true, 
     width: 300, 
     delimiter: /(,|;)\s*/, 
     onSelect: onAutocompleteSelect, 
     deferRequestBy: 0, //miliseconds 
    }; 

    a2 = $('#query').autocomplete({ 
     matchContains: true, 
     width: 300, 
     delimiter: /(,|;)\s*/, 
     lookup: "{TRANS_LIST}".split(',') 
    }); 


    $('#navigation a').each(function() { 
     $(this).click(function(e) { 
     var element = $(this).attr('href'); 
     $('html').animate({ scrollTop: $(element).offset().top }, 300, null, function() { document.location = element; }); 
     e.preventDefault(); 
     }); 
    }); 

    }); 

回答

1

我不熟悉的特定插件,但你可能想嘗試切換到JQuery用戶界面Autocomplete庫。這很好,並且可以按照你想要的方式進行搜索。

0

例子:

source: function (request, response) { // Contains 
    var searchString = request.term, 
     items = []; 

    // OPTIONS 
    // Search for items with "searchString"... 
    // Example: 
    items.push('test 1'); 
    items.push('foo'); 
    items.push('var'); 

    response(items); // Items 
}