Автозаполнение jQuery: matchContains не работает - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть jQuery и настройка автозаполнения плагина.Автозаполнение работает отлично, и различные параметры, которые я установил, как ширина и поиск работают нормально.Но единственное, что не работает - это опция matchContains.В соответствии с документом «Независимо от того, выглядит ли сравнение внутри (то есть соответствует ли« ba »значение« foo bar »), результаты поиска. Важно только, если вы используете кэширование. Не смешивайте с автозаполнением».Но это не смотрит в результаты поиска.Например, «ba» не найдет «foo bar».

<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();
      });
    });

  });

Ответы [ 3 ]

1 голос
/ 11 февраля 2011

Я не знаком с этим конкретным плагином, но вы можете попробовать переключиться на библиотеку JQuery UI Autocomplete . Это довольно хорошо, и поиск внутри так, как вы хотите.

0 голосов
/ 26 августа 2014

Пример:

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
}
0 голосов
/ 02 ноября 2011

Оформить заказ на этом сайте.у него есть рабочий пример и коды для него.http://www.ajaxdaddy.com/demo-jquery-autocomplete.html

что я думаю: что вам не хватает, это событие onfindvalue и метод для обработки события

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...