jQuery Algolia 自动完成输入键

问题描述 投票:0回答:1

目前,在选定元素上按 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);
  });
javascript jquery autocomplete algolia
1个回答
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;
            });
© www.soinside.com 2019 - 2024. All rights reserved.