Quiero enviar automáticamente la opción de autocompletar seleccionada después de seleccionar, no es necesario hacer clic en el botón Enviar o hacer clic fuera del cuadro, he intentado "cambiar", pero tengo que hacer clic fuera del cuadro después de la función de autocompletar. Así es como van los eventos en este momento:
La caja vacía:
Escribiendo algo:
Después de seleccionar:
El problema es que solo se envía después de hacer clic en otro lugar, quería que se enviara automáticamente después de seleccionar la opción. Finalmente, aquí está el código:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <form id="search_box" method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>"> Busca por nome, ticker ou código CVM: <br> <input id="searchbox" type="text" name="searchbox" onchange="this.form.submit()"> </form> <script> $(function() { var opac = <?php echo json_encode($ressb); ?>; $( "#searchbox" ).autocomplete ( { source: opac } ); } ); </script>¡Gracias por adelantado!
Probé las soluciones proporcionadas usando onkeyup con EventListener pero no pude hacer que funcionara, pero encontré otro tema con una solución que funcionó para mí, trabajando directamente en la función de autocompletar, desafortunadamente no la encontré antes de abrir esta pregunta.
Aquí está el código actualizado:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <form id="search_box" method="POST" action="<?php echo $_SERVER['PHP_SELF'];?>"> Busca por nome, ticker ou código CVM: <br> <input id="searchbox" type="text" name="searchbox"> </form> <script> $(function() { var opac = <?php echo json_encode($ressb); ?>; var formac = document.getElementById("search_box"); $( "#searchbox" ).autocomplete ( { source: opac, select: function(event,ui) { $( "#searchbox" ).val(ui.item.value); formac.submit(); } } ); } ); </script>¡Gracias por las respuestas!