Автозаполнение jQuery введите ключ Анголия

В настоящее время действие автозаполнения при нажатии клавиши Enter на выбранном элементе состоит в том, чтобы поместить значение этого элемента в поле ввода.

Как я могу изменить поведение, чтобы нажатие клавиши Enter на элементе вызывало встроенный URL-адрес этого элемента. Для упрощения я хотел бы, чтобы клавиша Enter имела такое же поведение, как щелчок мышью по возвращаемому элементу.

Спасибо

$('#search_input').autocomplete(
        { 
            //autoselect: true,
            //autoselectOnBlur: true,
            hint : false,
            templates: {
                dropdownMenu: '#my-custom-menu-template',
            }
        }, 
        [
            {
              source: $.fn.autocomplete.sources.hits(indexProducts, { hitsPerPage: 5 }),
              name : 'products',
              displayKey: 'name',
              templates: {
                suggestion: function(suggestion) {                    
                  return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+'</a>';
                }
              }
            },
            {
              source: $.fn.autocomplete.sources.hits(indexCategories, { hitsPerPage: 5 }),
              name : 'categories',
              displayKey: 'name',
              templates: {
                suggestion: function(suggestion) {
                  return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+' en <b>' + suggestion.parent_name+'</b></a>';
                }
              }
            }
        ]).on('autocomplete:selected', function(event, suggestion, dataset) {
    console.log(suggestion, dataset);
  });

person Antonio Morales    schedule 13.04.2018    source источник


Ответы (1)


Решение добавить автозаполнение:выбранное событие:

$('#search_input').autocomplete(
        { 
            //autoselect: true,
            //autoselectOnBlur: true,
            hint : false,
            templates: {
                dropdownMenu: '#my-custom-menu-template',
            }
        }, 
        [
            {
              source: $.fn.autocomplete.sources.hits(indexProducts, { hitsPerPage: 5 }),
              name : 'products',
              displayKey: 'name',
              templates: {
                suggestion: function(suggestion) {                    
                  return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+'</a>';
                }
              }
            },
            {
              source: $.fn.autocomplete.sources.hits(indexCategories, { hitsPerPage: 5 }),
              name : 'categories',
              displayKey: 'name',
              templates: {
                suggestion: function(suggestion) {
                  return '<a href="'+suggestion.url+'">'+suggestion._highlightResult.name.value+' en <b>' + suggestion.parent_name+'</b></a>';
                }
              }
            }
        ]).on('autocomplete:selected', function(event, suggestion, dataset) {
                location.href = suggestion.url;
            });
person Antonio Morales    schedule 13.04.2018