Aporto un valor a una página a través de $_GET y lo inserto en mi cuadro de texto de búsqueda. La caja es un autocompletado usando ajax. El problema es que cuando se coloca en el cuadro de búsqueda, no realiza una búsqueda automática. Necesita que presione una tecla para disparar. ¿Hay una manera fácil de hacer que se envíe después de insertar el valor? ¿O tal vez un método diferente para lograr esto?
<div class="form-group"> <input type="text" name="search_box" id="search_box" class="form-control input-lg" placeholder="Type your search here" '.(isset($_GET['search']) ? 'value="'.$_GET['search'].'"' : "").' /> </div> <script> $(document).ready(function(){ load_data(1); function load_data(page, query = '') { $.ajax({ url:"fetch.php", method:"POST", data:{page:page, query:query}, success:function(data) { $('#dynamic_content').html(data); } }); } $(document).on('click', '.page-link', function(){ var page = $(this).data('page_number'); var query = $('#search_box').val(); load_data(page, query); }); $('#search_box').keyup(function(){ var query = $('#search_box').val(); load_data(1, query); }); }); </script>puedes intentar emular el "enter"
var e = jQuery.Event("keypress"); e.which = 13; //choose the one you want e.keyCode = 13; $("#theInputToTest").trigger(e);Bueno, dado que está usando jQuery, es tan simple como activar el evento.
var search = $('#search_box'); search.keyup(function(){ .... }); if (search.val().trim()) search.trigger('keyup');o simplemente llame a su función
var searchValue = $('#search_box').val().trim(); if (searchValue) load_data(1, searchValue);