2014-09-11 7 views
5

Sto cercando di utilizzare Twitter per typeahed bootstrap https://github.com/twitter/typeahead.jstypeahead bootstrap3: come passare un parametro in remoto?

ho bisogno di cambiare il telecomando in modo dinamico in base ai tipi di ciò che l'utente in e un altro parametro. (L'obiettivo è recuperare le città di un paese)

provare con country = "en"; non lo influenza provando con autocompleter.remote = ".."; non funziona.

Qualche idea?

<script> 
var country="fr"; 
var autocompleter = new Bloodhound({ 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    remote: 'ajax.php?action=getVilles&country='+country+'&ville=%QUERY' 
}); 
autocompleter.initialize(); 


$('#city').typeahead(null, { 
    name: 'city', 
    displayKey: 'city', 
    source: autocompleter.ttAdapter() 
}); 


</script> 

risposta

11

Questo è quello che ho fatto:

var tagStudies = new Bloodhound({ 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'), 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    remote: { 
     url: "autocomplete/study", 
     replace: function(url, uriEncodedQuery) { 
      study = $('#study').val(); 
      ssp = $("#social-security").val(); 

      return url + '?q=' + uriEncodedQuery + '&s=' + study + '&ssp=' + ssp 
     }, 
     filter: function (parsedResponse) { 
      return parsedResponse.studies; 
     } 
    } 
}); 

Date un'occhiata alla funzione di sostituzione. Il primo parametro è l'url e il secondo è ciò che l'utente sta digitando. Ho fatto una concatenazione per passare la query e 2 parametri aggiuntivi. Se copi il codice, assicurati di sostituire "testo" per "valore" in datumTokenizer. Spero che lo aiuti

+0

Grazie per il commento, mi ha aiutato molto a capire come ottenere ciò che l'utente sta digitando – JustLearning

Problemi correlati