autocompletar jquery-ui con sugerencias ASP MVC no se muestran
-
05-10-2019 - |
Pregunta
He estado tratando de conseguir un simple ejemplo de la función de autocompletar jquery-ui para el trabajo. Tengo una configuración de controlador para manejar la consulta y devuelve el JSON que parece estar en orden, pero me estoy haciendo ninguna sugerencia a aparecer.
Aquí están las bibliotecas JS estoy incluyendo:
<script type="text/javascript" language="javascript" src="/Scripts/jquery-1.4.1.js"></script>
<script type="text/javascript" language="javascript" src="/Scripts/jquery-ui-1.8.1.custom.min.js"></script>
<link href="/Content/jquery-ui-1.8.1.custom.css" rel="stylesheet" type="text/css" />
y aquí está el javascript y las etiquetas de formulario:
<script type="text/javascript">
$(function () {
$("#organization").autocomplete({
source: function (request, response) {
$.ajax({
url: '/Organization/OrganizationLookup',
dataType: "json",
data: {
limit: 12,
q: request.term
}
})
},
minLength: 2
});
});
</script>
<div class="ui-widget">
<label for="organization">Organization: </label>
<input id="organization" />
</div>
regrese una respuesta JSON que la apariencia razonable de mi controlador:
[
{
"id":"Sector A",
"value":"Sector A"
},
{
"id":"Sector B",
"value":"Sector B"
},
{
"id":"Sector C",
"value":"Sector C"
}
]
Identificación del valor y parecen ser los nombres predeterminado que autocompletar está buscando.
Pero me da ningún placer en absoluto. ¿Alguna idea?
Solución
Not the issue here -- you should put css before javascript. Always.
You are not doing anything with the return value. You need to use a callback function to take that data and do something with it. (The "success:" parameter, I believe).
Otros consejos
Thanks to Hogan's suggestion, I added the following callback function to the success parameter, and I was good to go:
success: function (data) {
response($.map(data, function (item) {
return {
label: item.label,
value: item.value
}
}))