2013-07-24 16 views
5

Vorrei chiedere come aggiungere parametri aggiuntivi per la chiamata AJAX effettuata dall'opzione remote. Ho seguito forma semplice per la ricerca per la qualificazione (è in CoffeeScript):Aggiungere dati aggiuntivi per una chiamata ajax dell'opzione remota typeahead.js

$('#search_qualification').typeahead 
    name: 'qualification' 
    limit: 50 
    remote: 
    url: "/search/qualification?term=%QUERY" 

vorrei inviare un altro param con la chiamata AJAX, cioè state, normalmente con jQuery AJAX chiamata, mi piacerebbe fare questo :

$.ajax 
    url: "/search/qualification" 
    dataType: "json" 
    data: 
    term: request.term 
    state: $("#state").val() 

sono totalmente all'oscuro nell'adattare questo per typeahead.js, qualcuno può darmi una mano qui? Molte grazie

risposta

17

Utilizzare l'opzione replace:

$('#search_qualification').typeahead({ 
    name: 'qualification' 
    limit: 50 
    remote: { 
    url: '/search/qualification?term=%QUERY&state=%STATE' 
    replace: function(url, query) { 
     var state = encodeURIComponent($('#state').val()); 

     return url.replace('%QUERY', query).replace('%STATE', state); 
    } 
    } 
}); 
+0

Qualsiasi aspetto negativo nel non usare 'replace' e semplicemente modificando la' url' per accogliere qualsiasi parametro aggiuntivo per esempio '/ Ricerca/qualificazione termine =% QUERY & state = '+ encodeURIComponent ($ (' # Stato ') val().);?' – Medorator

Problemi correlati