So erstellen Sie eine JSON-array in JQuery?

Ich möchte erstellen Sie eine JSON-array wie dieses:

var ddBasic = [
    { text: "Facebook", value: 1, },
    { text: "Twitter", value: 2, },
    { text: "LinkedIn", value: 3, },
    { text: "Foursquare", value: 4, }
];

Ich bin mit Daten vom letzten.fm, so wäre es so etwas wie dieses:

var tags = [
        { text: "rock", value: "rock", },
        { text: "pop", value: "pop", },
    ];

Es muss ein Komma am Ende, so dass die ddslick dropdown-Funktion ignoriert die imageSrc und andere Dinge, die Sie verwenden können, für ein dropdown, andere wirft er diese Fehlermeldung:

Uncaught TypeError: Cannot read property 'imageSrc' of undefined

Um alles miteinander zu verbinden, die ich habe:

$('#tag').ddslick({
    data: tags,
    onSelected: function(selectedData) {}   
});

Dies ist die Funktion, bekommt die tags:

var tags = [];

var getTopTracks = function () {
    $.getJSON(
    settings.PHP_REQUEST_URL, {
        method: "tag.getTopTags",
        api_key: settings.LASTFM_APIKEY,
        format: "json",
    },

    function (data) {
        var limit = 50;

        data.toptags.tag.sort(function (t1, t2) {
            return t2.count - t1.count;
        });

        $.each(data.toptags.tag, function (i, item) {
            if (i > limit) return false;
            console.log(item.name);
            tags.push({
                text: item.name,
                value: item.name
            });
        });
    });
};

//event handlers (load quando o form é invocado só)
getTopTracks();
alert(tags.length);

//define tema para a combobox   
$('#tag').ddslick({
    data: tags,
    onSelected: function (selectedData) {}
});

Wie kann ich dies erreichen?

Du sagst es funktioniert mit dem Komma? Ich sehe nicht, wie, dass würde einen Unterschied machen.
Oh...anscheinend war es nicht das Komma, es ist etwas in meinem array. Ich bin, dass Werte mit tags.push({"text" : item.name, "value" : item.name}); - ist das die korrekte syntax? Länge zeigt 0 nach schieben, das macht mich Frage, was falsch ist.
Überprüfen Sie die Konsole für Fehler... ist item definiert?
möglich, aber dies würde bedeuten, es gibt eine andere tags variable versteckt sich irgendwo (gut: wo?) weil sonst push werfen würde so etwas wie can not call push on undefined
Behoben, es war, weil ich versuchte, um Werte vor AJAX fertig ist die Anfrage. Alle Feste. Vielen Dank für Eure Hilfe.

InformationsquelleAutor swiftcode | 2012-10-13

Schreibe einen Kommentar