La verdad no se de jquery pero si logre que funcione en mi busqueda un codigo que encontre en la web para autocompletar, lo que me parece que hace falta es un mensaje de " Sin Resultados" cuando no se encuentre la busqueda en la base de datos para impedir que los usuarios ingresen codigo basura.. como lo podria hacer ?
Código Javascript:
Ver original
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Autocomplete - Custom data and display</title> <link rel="stylesheet" href="themes/base/jquery.ui.all.css"> <script src="jquery-1.8.3.js"></script> <script src="ui/jquery.ui.core.js"></script> <script src="ui/jquery.ui.widget.js"></script> <script src="ui/jquery.ui.position.js"></script> <script src="ui/jquery.ui.menu.js"></script> <script src="ui/jquery.ui.autocomplete.js"></script> <link rel="stylesheet" href="demos.css"> <style> #project-label { display: block; font-weight: bold; margin-bottom: 1em; } #project-icon { float: left; height: 32px; width: 32px; } #project-description { margin: 0; padding: 0; } </style> <script> $(function() { var projects = [ { value: "71295447", label: "71295447 Diego Fernando Sanchez ", desc: "Profesional Diego", icon: "jquery_32x32.png" }, { value: "jquery-ui", label: "jQuery UI", desc: "the official user interface library for jQuery", icon: "jqueryui_32x32.png" }, { value: "sizzlejs", label: "Sizzle JS", desc: "a pure-JavaScript CSS selector engine", icon: "sizzlejs_32x32.png" } ]; $( "#project" ).autocomplete({ minLength: 0, source: projects, focus: function( event, ui ) { $( "#project" ).val( ui.item.label ); return false; }, select: function( event, ui ) { $( "#project" ).val( ui.item.label ); $( "#project-id" ).val( ui.item.value ); $( "#project-description" ).html( ui.item.desc ); $( "#project-icon" ).attr( "src", "images/" + ui.item.icon ); return false; } }) .data( "autocomplete" )._renderItem = function( ul, item ) { return $( "<li>" ) .data( "item.autocomplete", item ) .append( "<a>" + item.label + "<br>" + item.desc + "</a>" ) .appendTo( ul ); }; }); </script> </head> <body> <div id="project-label">Select a project (type "j" for a start):</div> <img id="project-icon" src="images/transparent_1x1.png" class="ui-state-default" alt=""> <input id="project"> <input type="hidden" id="project-id"> <p id="project-description"></p> <div class="demo-description"> <p>You can use your own custom data formats and displays by simply overriding the default focus and select actions.</p> <p>Try typing "j" to get a list of projects or just press the down arrow.</p> </div> </body> </html>