tengo el siguiente código porque quiero buscar en una base de datos como un usuario está escribiendo en un cuadro de texto. Este código a continuación funciona bien, pero parece un poco ineficiente, ya que si un usuario escribe muy rápido, potencialmente estoy haciendo muchas más búsquedas de las necesarias. Así que si un usuario está escribiendo en "vela"búsqueda optimizada utilizando ajax y tecla
estoy buscando en "vela", "saili", "sailin", y "vela"
quería ver si había una manera de detectar cualquier tiempo particular entre presionar teclas así que solo busque si el usuario deja de escribir durante 500 milisegundos o algo como esto.
¿hay mejores prácticas para algo como esto?
$('#searchString').keypress(function(e) {
if (e.keyCode == 13) {
var url = '/Tracker/Search/' + $("#searchString").val();
$.get(url, function(data) {
$('div#results').html(data);
$('#results').show();
});
}
else {
var existingString = $("#searchString").val();
if (existingString.length > 2) {
var url = '/Tracker/Search/' + existingString;
$.get(url, function(data) {
$('div#results').html(data);
$('#results').show();
});
}
}
+1 Por ejemplo código. – johnwards
Si alguien tiene problemas con este código, mira esto: http://stackoverflow.com/a/1171758/849829 –
¡increíble! gran código! gracias! – anand