Jquery Auto Complete no funciona. ¿Qué he hecho mal?

Lo que he hecho es,

Llamada Ajax devolver un combinado propuesta de. I dividido y guárdelos en un matriz.
se lo doy a jquery autocompletar pero no funciona.

<script type="text/javascript">
    window.onload=function Search_Items()
    {
    var action             =     "Search_Item";
    $.ajax({
            method:'GET',
            url:'ajax_process.php',
            data: {action:action},
            success:function(result)
            {
                document.getElementById("Search_Result_Div").innerHTML=result;
                var temp=document.getElementById("Search_Result").value;
                availableProducts=temp.split("`");

                $(function() {
                    var Product=$( "#tags" ).autocomplete({
                      source: availableProducts,
                    select: function (event,ui) {Load_Products(ui.item.value);}
                    });
                  });   

            }
        });
    };


    $(document).ready(function() {
        $("#tags").click(function() { $(this).select(); $('#ui-id-1').css('max-height','300px');$('#ui-id-1').css('overflow','auto');$('#ui-id-1').css('font-size','13px');} );
    });
    </script>

Esta es una etiqueta HTML que debe completarse automáticamente,

<input type="text" class="product_input" style="width:100px;"   id='tags'>

NOTA:

  • El valor devuelto por ajax es perfecto.
  • Revisé el valor de la matriz después de la división. Está bien.
  • versión de jquery: jquery-1.10.2.min.js
  • variable 'productos disponibles' declarada globalmente.

Gracias.

preguntado el 03 de diciembre de 13 a las 11:12

1 Respuestas

intenta reemplazar

$(function() {
  var Product=$( "#tags" ).autocomplete({
   source: availableProducts,
   select: function (event,ui) {Load_Products(ui.item.value);}
   });
 });

con

  var Product=$( "#tags" ).autocomplete({
   source: availableProducts,
   select: function (event,ui) {Load_Products(ui.item.value);}
   });

No sé por qué estás usando tu código dentro

$(function() {

});

http://learn.jquery.com/using-jquery-core/document-ready/ ya que significa documento listo que ya ha escrito a continuación. Así que intente sin él.

Respondido el 03 de diciembre de 13 a las 12:12

¿Puede explicar (para que su respuesta sea más completa, especialmente para nosotros los novatos de JavaScript) por qué ese cambio marcaría la diferencia? - Jorge Stocker

Tienes razón. Documento listo no requiere en esa ubicación. Pero esa no es la razón del problema. Lo he intentado quitando esa cosa. no funciona Estoy reescribiendo todo el código. espero que funcione - JaiSat

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.