Ich habe jq, um ein Array von JSON-Schlüssel: Wert Paare in ein Array zu extrahieren, aber ich bin nicht sicher, wie man es dann verwenden, um einen HTML-Code zu füllen Wählen Sie Listbox.
Wenn ich durch Hoopla des Hinzufügens von Zeug zum jq-Ausgang gehe, kann ich es lesen, aber vielleicht ist die Antwort darin, den jq-Ausgang zu bekommen, um json genau zu sein, der in einem nicht-anonymen Array ist. Ich bin mir nicht sicher, wie ich das machen soll.
jq ausgibt so etwas wie:
[
{
"id": 82247683,
"name": "project1"
},
{
"id": 7700483,
"name": "project2"
}
]
Was mit jquery $ .each funktioniert, ist, wenn das Format statt wie war:
{"project": [
{
"id": 82247683,
"name": "project1"
},
{
"id": 7700483,
"name": "project2"
}
]}
ich in der ersten Zeile am wahrsten Sinne des Wortes Anheften Im Moment und die letzte Zeile, um diese Daten wieder als JSON-Daten zu erhalten und sie mit getJSON zum Laufen zu bringen.
Die $ .each Schleife Ich verwende:
<script type="text/javascript">
var $select = $('#project');
$.getJSON('projects.json', function(data) {
$select.html('');
$.each(data.project, function(key,val) {
$select.append('<option id="'+val.id+'">'+val.name+'</options>');
})
});
</script>
Wegen der getJSON Verwendung sowie mit $ .each (data.project) Ich brauche auf dem Array-Namen und die anderen Elemente heften.
Ich würde von Ihnen Informationen über entweder jq verwenden, um den richtigen json heraus zu bekommen, oder was auch immer ich mit dem getJSON + $ .each tun müsste, um es mit der jq-Ausgabe zu arbeiten, wie es jetzt herauskommt. Benötigt getSchon in diesem Szenario sogar, dass das Array nicht anonym ist?
Das Endergebnis sollte die ausgefüllte Listbox sein.
$ .each nicht, was dieser beiden Formate schert Sie verwenden, so lange wie Sie es geben, was Sie wollen, dass es überlaufen. –