sto usando Ajax Autocomplete for Jquery
(http://www.devbridge.com/projects/autocomplete/jquery/) in una delle mie applicazioni. Il modulo di ricerca simile a questa:Completamento automatico Ajax per Jquery: Come inviare parametri dinamici
<form id="topsearch" method="POST" action="/searchAll"><input type="text" class="searchform" name="q" id="q" value="Country, City, Hotel or a Tourist Attraction" o nfocus="clearInput(this);" onblur="defaultInput(this);" />
<select id="top_search_select" name="entity_type">
<option value="country">Countries</option>
<option value="city">Cities</option>
<option value="place" selected="selected">Tourist Attractions</option>
<option value="hotel">Hotels</option>
</select>
<input type="submit" name="topsearch" class="submit" value="SEARCH" title="SEARCH"/>
</form>
e la configurazione di completamento automatico è simile al seguente:
<script type="text/javascript">
//<![CDATA[
var a = $('#q').autocomplete({
serviceUrl:'/search',
delimiter: /(,|;)\s*/, // regex or character
maxHeight:400,
width:325,
zIndex: 9999,
params: {entity_type:$('#top_search_select').val()},
deferRequestBy: 0, //miliseconds
noCache: false, //default is false, set to true to disable caching
onSelect: function(value, data){window.location.replace(data);},
});
//]]>
</script>
Ora il problema è nel backend ho diversi gestori che generano risultati per i diversi tipi di entità che l'utente sceglierebbe attraverso l'opzione select nel modulo.
Per impostazione predefinita entity_type
è place
che viene passato correttamente al gestore nel back-end. Tuttavia, ciò che voglio è quando una persona seleziona un'entità diversa dalla casella di selezione nel modulo params: {entity_type:$('#top_search_select').val()}
nella configurazione dello script viene anche aggiornata.
Qualsiasi aiuto o idea sarà molto apprezzato. Grazie.
Ho provato a utilizzare la soluzione, ma senza alcun risultato. Cosa si deve fare per passare i parametri dinamici. –
chiama il metodo "setOptions" forse:/ – Amyth