Ich habe diese JSON-Daten vom Server. was ist gültig JSON pro JASONlintselect2-4.0.3 Anzeigen von Werten als Schlüssel in JSON-Daten
Problem ist, wenn ich 3 Ziffern eingeben (irgendetwas falsches) Ich bekomme die Dropdown und es zeigt "Schlüssel" als Werte !!! Ich weiß nicht, warum es in umgekehrter Reihenfolge ist ??? Wenn ich .each anstelle von .map verwende, listet es Werte korrekt als Werte auf (im Konsolenprotokoll), zeigt dann aber nichts im Dropdown (einige Fehler in select2 js werden gemeldet).
JSON: (Firebug)
{"4":"2013","3":"2014","1":"2016","6":"winter","7":"birthday","2":"2015","5":"summer","8":"vacation"
}
das ist mein JS:
$("#selectTags").select2({
tags: true,
multiple: true,
allowClear: true,
//closeOnSelect: false,
tokenSeparators: ',', // [' ',','],
minimumInputLength: 3,
ajax: {
url: "/cgi-bin/json-data.pl",
dataType: 'json',
delay: 100,
data: function (params) {
var queryParameters = {
term: params.term
}
return queryParameters;
},
processResults: function (data) {
return {
results: $.map(data, function (key,value) {
console.log('key='+key);
return {
id: key,
text: value
}
})
};
}
}
});
ich sehe. Danke, das habe ich gemerkt, aber ich wusste nicht, dass es die "natürliche" Zuweisung mit .map ist (normalerweise würde ich Schlüssel vor Wert annehmen). – rajeev
es ist wegen ECMAScript5 Array.map Rückruf hat ersten Argument - Wert (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map). Die gleiche Signatur ist also für Objekte, die kompatibel sein sollen. – Shrike
Was ist, wenn ich diese Art von Json habe. –