2011-07-04 4 views
0

J'ai le fichier json au format suivant.Aide pour la saisie semi-automatique JQuery

[{"tag":{"name":"& Awards","id":142}},{"tag":{"name":"& Bisexual Bars","id":207}},{"tag":{"name":"& Clubs","id":40}},{"tag":{"name":"& Imaging","id":1188}}} 

et je suis en utilisant le code suivant

$("#tags_name").autocomplete({ 
    source: "/companies/autocomplete_tags2.json", 
    width: 320, 
    dataType: 'json', 
    highlight: false, 
    scroll: true, 
    scrollHeight: 300, 
    parse: function(data) { 
    var array = new Array(); 
    for(var i=0; i < data.tag.length; i++){ 
     array[i] = {data: data.tag[i], value: data.tag[i].value, result: data.tag[i].id }; 
    } 
    return array; 
    } 
}); 

quand je charge la page de l'erreur que je reçois est "newUncaught SyntaxError: fin inattendue d'entrée"

Qu'est-ce que je manque ici?

+0

Quelle ligne jette cette erreur? – Dogbert

Répondre

1

Votre fonction d'analyse est incorrecte pour le fichier JSON dont vous disposez. Vous avez un tableau d'objets dans votre JSON.

Il devrait être quelque chose comme

parse: function(data) { 
    var array = new Array(); 
    for(var i=0; i < data.length; i++){ 
     array[i] = {data: data[i].tag, value: data[i].tag.name, result: data[i].tag.id }; 
    } 
    return array; 
    } 
+0

Cela semble avoir réglé une partie du problème. –

+0

'Il semble que le JSON que je reçois n'est pas le bon type mime. def autocomplete_tags2 Articles = Tag.find (: tout,: sélectionnez => "nom, identifiant") items.map! faire | article | {: label => item.name,: value => item.id} fin Rendu: json => items.to_json fin ' –

Questions connexes