/ / problemas para comprender json y jquery-ui autocompletar - json, jquery-ui

problemas para entender a json y jquery-ui autocompletar - json, jquery-ui

Estoy tratando de usar el autocompletado jquery-ui y tengo problemas para entender completamente cómo conectarlo.

En un esfuerzo por ver la funcionalidad, exportamos una lista de nombres de usuario en el formato json de

["Abbott, Bob",
"Adams, Jo", etc...

y tiene más de 8k líneas. Lo guardé en un archivo llamado names.json. Cuando configuré mi autocompletado, utilicé lo siguiente:

$("#userName").autocomplete({
source: "names.json"
});

Basado en autocompletar jqueryi-ui página. Dice esto:

When a String is used, the Autocomplete plugin expects that string to point to a URL resource that will return JSON data.

Devuelve todos los nombres de 8k + en lugar de filtrarlos según lo que estoy escribiendo. Intenté cambiarlo a:

$("#userName").autocomplete({
source: "names.json?term="
});

Eso tampoco funcionó para filtrarlo.

He intentado variaciones en el ejemplo de fuente de datos JSONP remoto, pero parece que no puedo hacer que funcione.

He intentado cambiar mi archivo json al formato de:

[{"value":"Abbot, Bob"},
{"value":"Adams, Jo"}, etc...

Eso no se filtró.

He intentado sacar las comillas sobre el valor. Eso no devolvió nada.

He intentado cambiarlo al formato que figura en la respuesta para esta pregunta de stackoverflow devolviendo item.value con mi segundo formato json pero eso tampoco lo filtró.

No estoy muy seguro de lo que estoy haciendo mal y espero entenderlo. Gracias.

Respuestas

0 para la respuesta № 1

Su fuente de datos necesita ser dinámica.

jquery ui autocomplete enviará una solicitud a la URL que ha especificado con ?term=WHATEVER_THE_USER_TYPED anexado Necesita algo en el lado del servidor que procesará esa solicitud y devolverá solo los datos para ese término.

Por ejemplo,

$("#userName").autocomplete({
source: "names.php" // php as an example.
});

Resultará en una solicitud para:

/names.php?term=abcd

names.php tendría que retirar los datos que coinciden con la búsqueda y devolverlos.