2011-02-07 6 views
5

Estoy tratando de usar jquery-ui para la autocompletación en un campo de búsqueda. Como la búsqueda depende del valor de otro campo de formulario, estoy usando una devolución de llamada para la fuente. Veo que la solicitud se envió correctamente. Mi script remoto devuelve una simple matriz de cadenas y es en ese punto que no puedo hacer que funcione. La lista desplegable nunca se construye. puede alguien decirme por que? Aquí está el código:Manejo de datos de una fuente personalizada en el autocompletado de jquery-ui

$(document).ready(function(){ 
    $("#species").autocomplete({ 
     source: function(request, response) { 
     $.ajax({ 
      url: "/includes/species-ajax.cfm", 
      dataType: "jsonp", 
      data: { 
      term: request.term, 
      searchBy : function() { 
       var sb = $("#searchBy_hidden").val(); 
       return (sb ? sb : 'common_name'); } 
      }, 
      success: function(data) { 
      response($.map(data, function(item) { 
       return { 
       label: item.name, 
       value: item.name 
       } 
      })); 
      } 
     }); 
    }}); 
    }); 

<input type="hidden" name="searchBy_hidden" id="searchBy_hidden" value="common_name" /> 
Enter the name of a species: <input type="textbox" size="30" id="species" /> 

Gracias,

+0

He intentado varias variaciones sobre la devolución de llamada de 'Success':' éxito: function (datos) {response (datos); } ', p. – jaybee

+0

¡Eso es todo! Gracias davin :-) – jaybee

Respuesta

4

trate de cambiar su dataType-'json', no 'jsonp'

Cuestiones relacionadas