{"id":27940,"date":"2021-05-17T11:07:00","date_gmt":"2021-05-17T08:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27940"},"modified":"2021-10-17T17:01:48","modified_gmt":"2021-10-17T14:01:48","slug":"como-usar-jquery-autocomplete-con-ajax","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/como-usar-jquery-autocomplete-con-ajax\/","title":{"rendered":"C\u00f3mo usar jQuery Autocomplete con Ajax"},"content":{"rendered":"<p>\u00bfEst\u00e1 buscando integrar jQuery Autocomplete en su sitio web? jQuery Autocomplete es como la B\u00fasqueda de Google donde un usuario ingresa algunas letras y el conjunto de resultados que coincide con las letras escritas se completa previamente.<\/p>\n<p><a href=\"https:\/\/jqueryui.com\/autocomplete\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">La interfaz de usuario de jQuery<\/a> proporciona la funci\u00f3n Autocompletar. Para utilizar esta funci\u00f3n, debe utilizar archivos JS y CSS proporcionados por ellos.<\/p>\n<p>En este breve tutorial, tomaremos un peque\u00f1o ejemplo y le mostraremos c\u00f3mo usar jQuery Autocomplete con Ajax.<\/p>\n<p>Como ejemplo, tomemos un campo de texto. Cuando un usuario comienza a ingresar una letra en este campo, deben aparecer datos precompletados de los cuales el usuario puede seleccionar uno espec\u00edfico.<\/p>\n<h3>C\u00f3mo usar jQuery Autocomplete con Ajax<\/h3>\n<p>Digamos que nuestro campo de texto es para el nombre de un usuario. Debe buscar el nombre y los registros de nombres se almacenan en la base de datos.<\/p>\n<p>Cree un <code>index.html<\/code>archivo y agregue el c\u00f3digo a continuaci\u00f3n.<\/p>\n<pre><code>&lt;html&gt;\n&lt;head&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;title&gt;jQuery Autocomplete&lt;\/title&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;link rel=\"stylesheet\" href=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.4.1\/css\/bootstrap.min.css\" integrity=\"sha384-Vkoo8x4CGsO3+Hhxv8T\/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh\" crossorigin=\"anonymous\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;link rel=\"stylesheet\" type=\"text\/css\" href=\"\/\/code.jquery.com\/ui\/1.12.1\/themes\/base\/jquery-ui.css\"&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"container\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"row\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-md-2\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-md-8\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"exampleInputFname\"&gt;First Name&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" class=\"form-control\" id=\"fnames\" placeholder=\"First Name\" name=\"fname\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"col-md-2\"&gt;&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script type=\"text\/javascript\" src=\"https:\/\/code.jquery.com\/jquery-1.12.4.js\"&gt;&lt;\/script&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script type=\"text\/javascript\" src=\"https:\/\/code.jquery.com\/ui\/1.12.1\/jquery-ui.js\"&gt;&lt;\/script&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;script src=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.4.1\/js\/bootstrap.min.js\" integrity=\"sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6\" crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\n&lt;\/body&gt;<\/code><\/pre>\n<p>En el HTML anterior, he dado id &quot;fnames&quot; al cuadro de b\u00fasqueda. En este id, llamar\u00eda al m\u00e9todo de autocompletar.<\/p>\n<p>A continuaci\u00f3n, escribamos c\u00f3digo JavaScript que use el m\u00e9todo de autocompletar, llamemos al archivo ajax, tomemos la respuesta del archivo ajax y agreguemos al cuadro de b\u00fasqueda.<\/p>\n<pre><code>&lt;script type=\"text\/javascript\"&gt;\n\u00a0\u00a0\u00a0\u00a0$(function() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$(\"#fnames\").autocomplete({\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0source: function(term, response){\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$.getJSON('search.php', { q: term }, function(data){ response(data); });\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0});\n\u00a0\u00a0\u00a0\u00a0});\n&lt;\/script&gt;<\/code><\/pre>\n<p>En el <code>search.php<\/code>archivo, necesitamos buscar registros de la base de datos, construir la salida en formato de matriz y finalmente usar <code>json_encode<\/code>para codificar la matriz. No olvide usarlo <code>json_encode<\/code>o de lo contrario no obtendr\u00e1 el resultado esperado.<\/p>\n<pre><code>&lt;?php\n$q = $_REQUEST['q']['term'];\n\u00a0\n\/\/search in the database and get the result.\n\/\/for e.x. your database result is ['sam', 'sandy']\n\/\/json_encode the final output\necho json_encode(['sam', 'sandy']);\n?&gt;<\/code><\/pre>\n<p>Espero que entiendas c\u00f3mo usar jQuery Autocomplete con Ajax en PHP. Nos gustar\u00eda conocer su opini\u00f3n en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/carga-de-archivos-ajax-con-php-y-jquery\/\" title=\"Carga de archivos Ajax con PHP y jQuery\">Carga de archivos Ajax con PHP y jQuery<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/casilla-de-verificacion-multiple-seleccionar-deseleccionar-usando-jquery\/\" title=\"Seleccionar \/ deseleccionar varias casillas de verificaci\u00f3n con jQuery\">Seleccionar \/ deseleccionar varias casillas de verificaci\u00f3n con jQuery<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El complemento jQuery Autocomplete funciona como la B\u00fasqueda de Google. En esta publicaci\u00f3n, estudiamos c\u00f3mo usar el autocompletado de jQuery con Ajax. Usamos PHP como lenguaje del lado del servidor.<\/p>\n","protected":false},"author":1,"featured_media":21654,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[253],"tags":[849],"class_list":["post-27940","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-jquery-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=27940"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27940\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21654"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=27940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=27940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=27940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}