Ho difficoltà a richiamare le funzioni typeahead.js come val
, open
, close
, ecctypeahead le funzioni di chiamata .VAL .Open .close ecc tiri errori
Il typeahead funziona correttamente sull'elemento di ingresso in quanto visualizza le voci ma quando provo a chiamare qualsiasi funzione typeahead ottengo questo errore:
Uncaught Error: one of local, prefetch, or remote is requiredmessage: "one of local, prefetch, or remote is required
il mio codice di inizializzazione è la seguente:
var currentMedicalAid;
var medicalAidList = $('#medicalAidList');
var medicalAidengine = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('MedicalAid1'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 5,
prefetch: {
url: '/api/Search/GetMedicalAidList',
}
});
medicalAidengine.initialize();
medicalAidList.typeahead(null, {
name: 'MedicalAid1',
displayKey: 'MedicalAid1',
// `ttAdapter` wraps the suggestion engine in an adapter that
// is compatible with the typeahead jQuery plugin
source: medicalAidengine.ttAdapter()
}).blur(function() {
match = false;
for (var i = medicalAidengine.index.datums.length - 1; i >= 0; i--) {
if ($(this).val() == medicalAidengine.index.datums[i].MedicalAid1) {
currentMedicalAid = medicalAidengine.index.datums[i].MedicalAidID;
match = true;
}
};
if (!match) {
currentMedicalAid = '00000000-0000-0000-0000-000000000000';
$(this).val('');
medicalAidList.typeahead('val', ''); // throws error
}
});;
Ogni volta eseguito una di queste funzioni, ottengo un errore:
medicalAidList.typeahead('val', '');
or
$('#medicalAidList').typeahead('val','');
Qualsiasi aiuto sarebbe molto apprezzato
Grazie
Cosa restituisce esattamente "/ api/Search/GetMedicalAidList"? È questo JSON? Puoi verificare se questa richiesta è stata eseguita correttamente nel tuo browser. Aiuterà anche un esempio di JSON restituito. –
Il JSON è perfetto perché la lista funziona. Non ha nulla a che fare con l'attuale typeahead che funziona, perché funziona perfettamente. Quando digito il menu a discesa, ottengo una lista che appare come dovrebbe. Non riesco ad accedere alle funzioni typeahead - ho lo stesso problema su tutti i miei tipi in anticipo (alcuni usano altri locali remoti, non riesco ad accedere al tipo successivo –
Ok. Ho chiesto alla mia domanda come typeahead richiede una serie di oggetti javascript per i suoi datum , non oggetti JSON. Nell'esempio manca una funzione "filtro" nella dichiarazione "prefetch" .Vedi questo esempio https://twitter.github.io/typeahead.js/examples/#prefetch. –