Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/04/2014, 15:38
cristofer-2006
 
Fecha de Ingreso: mayo-2008
Ubicación: Granada
Mensajes: 131
Antigüedad: 16 años, 7 meses
Puntos: 2
Autocomplete de JQuery no consigo que me funcione

Hola antes que nada saludar a todos y exponer mi problema haber si me podéis echar una mano.

El caso es el siguiente, tengo una pagina web normal en la que me hace falta un Autocomplete de JQuery y llamo a jquery etc... asi:

Código HTML:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
luego escribo el código js así:

Código HTML:
<script>
  $(function() {
    var availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ];
    function split( val ) {
      return val.split( /,\s*/ );
    }
    function extractLast( term ) {
      return split( term ).pop();
    }
 
    $( "#tags" )
      // don't navigate away from the field on tab when selecting an item
      .bind( "keydown", function( event ) {
        if ( event.keyCode === $.ui.keyCode.TAB &&
            $( this ).data( "ui-autocomplete" ).menu.active ) {
          event.preventDefault();
        }
      })
      .autocomplete({
        minLength: 0,
        source: function( request, response ) {
          // delegate back to autocomplete, but extract the last term
          response( $.ui.autocomplete.filter(
            availableTags, extractLast( request.term ) ) );
        },
        focus: function() {
          // prevent value inserted on focus
          return false;
        },
        select: function( event, ui ) {
          var terms = split( this.value );
          // remove the current input
          terms.pop();
          // add the selected item
          terms.push( ui.item.value );
          // add placeholder to get the comma-and-space at the end
          terms.push( "" );
          this.value = terms.join( ", " );
          return false;
        }
      });
  });
  </script> 
hasta aquí todo bien, de echo si pongo esto:

Código HTML:
<div class="ui-widget"><input id="tags" type="text" value="abc, cba" /></div> 
me funciona todo a la perfección, el problema viene cuando quiero usar eso desde una llamada asincrona a un archivo php que es el que tiene el formulario con ese trocito de código que si no llamara así no tendría problema y se carga en un <div id="editar">Aquí</div>

También probé a poner todo el código js en el archivo que se llama asincronamente pero nada

Escribo haber si alguien sabe como se puede resolver este problema

Saludos cordiales