event - jquery autocomplete focus
jquery autocompleta con respuesta json (3)
Creo que solo necesitas dataType
una opción de tipo de datos, recuerdo que me alegro de que puedes usar cualquiera de las opciones de $.ajax
en el autocompletador:
$("#users-allowed").autocomplete("/people/following.json", {
dataType: "json",
...
Estoy obteniendo respuesta en json, pero esto no analizará la respuesta de json. ¿Qué estoy haciendo mal? No pude encontrar nada en el documento http://docs.jquery.com/Plugins/Autocomplete
$("#users-allowed").autocomplete("/people/following.json", {
width: 320,
//max: 4,
highlight: false,
scroll: true,
scrollHeight: 300,
formatItem: function(response, i, max) {
console.log(response);
console.log(response[''items'']);
console.log(response.items);
return i + "/" + max + ": /"" + response.status_code + "/" [" + response.status_description + "]";
//return "<img src=''images/" + value + "''/> " + value.split(".")[0];
},
formatResult: function(response) {
//return value.split(".")[0];
return response.status_description;
}
});
Intente declarar las opciones fuera del alcance de $(document).ready(..)
Ex:
var acCbo = {
minChars: 1,
delay:500,
max: 100,
width: 400,
dataType: ''json'', // this parameter is currently unused
extraParams: {
format: ''json'', //pass the required context to the Zend Controller,
filtro: ''id_procsianv,id_atividade'',
chave: function(){
return $(''#id_procsianv'').val()+'',''+$(''#id_atividade'').val();
}
},
queryParam: "descricao",
parse: function(data) {
if (data[''qtde'']>0){
data = data[''Cbo''];
var parsed = [];
for (var i = 0; i < data.length; i++) {
parsed[parsed.length] = {
data: data[i],
value: data[i].id_cbo,
result: $(''<textarea/>'').html(data[i].no_cbo).val()
};
}
return parsed;
}else{
$(''#id_cbo'').val('''');
return [];
}
},
formatItem: function(item) {
return item.no_cbo+ '' ('' +item.id_cbo+ '')'';
}
};
$(document).ready(function(){
$(''#cbo'').autocomplete(''/cbos/index'',acCbo)
.result(function(e,data){
$(''#id_cbo'').val(data.id_cbo);
});
});
$("#users-allowed").autocomplete("/people/following.json", {
width: 320,
dataType: ''json'',
highlight: false,
scroll: true,
scrollHeight: 300,
parse: function(data) {
var array = new Array();
for(var i=0;i<data.items.length;i++) {
array[array.length] = { data: data.items[i], value: data.items[i], result: data.items[i].username };
}
return array;
},
formatItem: function(row) {
var name = '''';
if (row.first_name && row.last_name)
name = ''(''+row.first_name+'', ''+row.last_name+'')'';
else if (row.first_name)
name = ''(''+row.first_name+'')'';
else if (row.last_name)
name = ''(''+row.last_name+'')'';
return row.username+'' ''+name;
}
});
Verifique el tipo de datos y la opción de análisis.