2017-12-09 25 views
0

Algolia의 autocomplete.js를 설정하여 여러 인덱스 ('리소스'및 '사용자')를 검색했습니다. 사용자가 '사용자'를 클릭 할 때와 다른 '리소스'를 클릭하면 링크가 필요합니다. JQuery와 구현에 Algolia의 설명서를 사용Algolia Autocomplete 여러 인덱스로 연결

, 나는 다음과 같은 한 :

$('#aa-search-input').autocomplete(
    { 
    hint: true, 
    minLength: 2, 
    }, [ 
    { 
     source: $.fn.autocomplete.sources.hits(resources, { hitsPerPage: 3 }), 
     displayKey: 'name', 
     templates: { 
     header: '<div class="aa-suggestions-category">Resources</div>', 
     suggestion: function(suggestion) { 
      return '<span>' + 
      suggestion._highlightResult.name.value + '</span><span>' 
      + suggestion._highlightResult.write_up.value + '</span>'; 
     }, 
     empty: '<div class="aa-empty">No matching resources <i class="frown icon"></i></div>', 
    } 
    }, 
    { 
    source: $.fn.autocomplete.sources.hits(users, { hitsPerPage: 3 }), 
     displayKey: 'name', 
     templates: { 
     header: '<div class="aa-suggestions-category">Users</div>', 
     suggestion: function(suggestion) { 
      return '<span>' + 
      suggestion._highlightResult.username.value + '</span>'; 
      }, 
     empty: '<div class="aa-empty">No matching users <i class="frown icon"></i></div>', 
     } 
    } 
    ]).on('autocomplete:selected', function(event, suggestion, dataset) { 
    location.href = '/resources/view/show-' + suggestion.id; 
}); 

어떻게 두 소스 별도로 각 (autocomplete.selected ')에 CSTE 연구진은 기능을 적용 할 수 있을까?

답변

1

여기에 here에 대한 예가 나와 있습니다. 다른 문의 사항이 있으시면

on("autocomplete:selected", function(event, suggestion, dataset) { 
    // 1-indexed dataset 
    var url = datasets[dataset-1].url 
    // do something with: 
    console.log(url, suggestion); 
    // for example 
    // location.href = url + suggestion.objectID 
}); 

은 또한 담화 forum에서 좀 걸릴 수 있습니다.

+0

내 특정 사용 사례에 맞게 약간 fandangling, 그 아름답게 작동합니다. 고맙습니다! –