2011-02-11 3 views
0

jQuery와 자동 완성 플러그인 설정이 있습니다. 자동 완성 기능은 잘 작동하며 너비 및 룩업 작업을 설정하는 것과 같은 다양한 옵션이 정상적으로 작동합니다. 하지만 작동하지 않는 한 가지는 matchContains 옵션입니다. the doc에 따르면 "비교가 내부에 표시되는지 여부 (즉,"바 "는"foo 바 "와 일치 함) 검색 결과. 캐싱을 사용할 경우에만 중요하며 자동 채우기와 섞지 마십시오." 하지만 검색 결과를보고 있지 않습니다. 예를 들어 "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와 UI Autocomplete 라이브러리로 전환하려고 할 수 있습니다. 그것은 꽤 좋으며 원하는 방식으로 검색합니다.

0

이 웹 사이트를 체크 아웃하십시오. 그것의 작동 예제와 코드가 있습니다. http://www.ajaxdaddy.com/demo-jquery-autocomplete.html

는 내가 무슨 생각을 : 당신은 이벤트를 처리 할 수 ​​onfindvalue 이벤트 및 방법이 될 수 있습니다 무엇을 놓치고 있는지

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 
}