J'essaie d'utiliser le plugin autocomplete pour jQuery (celui-ci http://docs.jquery.com/Plugins/Autocomplete). Mon serveur renvoie chaîne JSON, que je suis en train de traiter le client via le plugin de saisie semi-automatique « parse
» et paramètres « formatItem
», comme ceci:Le plugin jQuery AutoComplete ne fonctionne pas pour la réponse JSON (sValue.substring n'est pas une fonction)
$(document).ready(function()
{
$('.searchBox input.textbox').autocomplete('/DoSearch.aspx',
{
mustMatch: false,
autoFill: true,
minChars: 1,
dataType: 'json',
parse: function(data)
{
var array = new Array();
for (var i = 0; i < data.length; i++)
{
array[array.length] = { data: data[i], value: data[i].ID, result: data[i].ID };
}
return array;
},
formatItem: function(row, i, n)
{
return row.ID + ': ' + row.Title;
}
});
});
Quand je lance ce je reçois un «sValue. la sous-chaîne n'est pas une erreur 'lancée dans Firebug. Cependant, si je colle des points d'arrêt sur la fonction formatItem et l'analyse, ils sont frappés comme prévu et contiennent des données valides, il semble.
Voici une copie exacte « n » coller du texte JSON qui est renvoyée à partir du serveur:
[{"ID":140177,"Title":"Food Handling","Code":"J01.576.423.200"},{"ID":140178,"Title":"Food Handling","Code":"J01.576.423.200"},{"ID":140179,"Title":"Brain Infarction","Code":"C10.228.140.300.301.200"},{"ID":140180,"Title":"Cerebral Hemorrhage","Code":"C10.228.140.300.535.200"},{"ID":140182,"Title":"Insulin","Code":"D06.472.610.575"},{"ID":140183,"Title":"Insulin","Code":"D06.472.610.575"},{"ID":140184,"Title":"Insulin","Code":"D06.472.610.575"},{"ID":140186,"Title":"Insulin","Code":"D06.472.610.575"},{"ID":140188,"Title":"Insulin","Code":"D06.472.610.575"},{"ID":140189,"Title":"Sulfonylurea Compounds","Code":"D02.886.590.795"}]
S'il vous plaît aider, je l'ai déjà cherché Google et StackOverflow de l'aide, mais ne trouve pas Quelqu'un d'autre ayant cette erreur, bravo!