jQuery 自动完成回车键 angolia

jQuery autocomplete enter key angolia

目前,在选定元素上按 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);
  });

解决方案添加autocomplete:selected事件:

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