Estoy usando el autocompletado de JQuery en uno de mis formularios.¿Cómo paso un parámetro adicional al campo Autocompletar de Jquery?
La forma básica selecciona los productos de mi base de datos. Esto funciona muy bien, pero me gustaría seguir desarrollando para que solo se devuelvan los productos enviados desde un determinado código postal. Tengo el script de backend resuelto. Solo necesito averiguar la mejor manera de pasar el código postal a este script.
Así es como se ve mi formulario.
<form>
<select id="zipcode">
<option value="2000">2000</option>
<option value="3000">3000</option>
<option value="4000">4000</option>
</select>
<input type="text" id="product"/>
<input type="submit"/>
</form>
Y aquí es el código de jQuery:
$("#product").autocomplete
({
source:"product_auto_complete.php?postcode=" + $('#zipcode').val() +"&",
minLength: 2,
select: function(event, ui){
//action
}
});
Este código funciona hasta cierto punto. Pero solo devuelve el primer valor de código postal independientemente de qué valor se seleccione realmente. Supongo que lo que sucede es que la URL de origen está cebada en la carga de la página en lugar de cuando se cambia el menú de selección. ¿Hay alguna forma de evitar esto? ¿O hay una mejor manera en general para lograr el resultado que estoy buscando?
Hmmm. Parece que no puedo hacer que funcione usando este método. Aunque sería genial si pudiera, ya que parece una forma más elegante de abordar el problema. ¿Los datos JSON deben estructurarse de manera diferente? ¿Todavía uso $ _GET ['postcode'] && $ _GET ['term'] en mi archivo fuente? – matt
@matt - Simplemente usará '$ _GET ['postcode']' con el código anterior ... si quiere un término allí, agréguelo usando el argumento de datos: '{term: request. término, código postal: $ ('# zipcode').val()} ' –
@Nick Todavía tiene problemas para que funcione. Hice el cambio, pero la autocompleta no se materializa. Jquery es muy nuevo para mí, así que no estoy seguro de cómo depurarlo, pero parece evitar que todo el código de mi archivo javascript funcione. No estoy seguro de lo que podría estar fuera de lugar, pero el "request.term" es nuevo para mí. Solo para aclarar, este es el "término" que crea autocompletar a medida que escribe, ¿no? – matt