JSON-Daten zur Auswahl-Liste nur bestimmte Tasten
Dies ist die JSON-Daten, die zurückgegeben wird:
[{"ENERGYUSE":"","EMISSIONFACTOR":2.332,"NAME":"Coal","ID":812,"UNITOFMEASURE":"Metric tons"},{"ENERGYUSE":"","EMISSIONFACTOR":0.002705,"NAME":"Diesel","ID":816,"UNITOFMEASURE":"Liters"},{"ENERGYUSE":26635048.359808,"EMISSIONFACTOR":0.0005703,"NAME":"Electricity","ID":811,"UNITOFMEASURE":"KWH"},{"ENERGYUSE":"","EMISSIONFACTOR":0.002705,"NAME":"Fuel Oil","ID":814,"UNITOFMEASURE":"Liters"},{"ENERGYUSE":"","EMISSIONFACTOR":0.002328,"NAME":"Gasoline","ID":815,"UNITOFMEASURE":"Liters"},{"ENERGYUSE":"","EMISSIONFACTOR":0.002603,"NAME":"Jet Fuel","ID":818,"UNITOFMEASURE":"Liters"},{"ENERGYUSE":"","EMISSIONFACTOR":0.00269,"NAME":"Kerosene","ID":817,"UNITOFMEASURE":"Liters"},{"ENERGYUSE":"","EMISSIONFACTOR":0.001509,"NAME":"LPG\/Propane","ID":813,"UNITOFMEASURE":"Liters"},{"ENERGYUSE":523846.2564,"EMISSIONFACTOR":0.05307,"NAME":"Natural Gas","ID":810,"UNITOFMEASURE":"million BTU"},{"ENERGYUSE":"","EMISSIONFACTOR":0.285618,"NAME":"Wood","ID":819,"UNITOFMEASURE":"Kilograms"},{"ENERGYUSE":"","EMISSIONFACTOR":"","NAME":"Other","ID":808,"UNITOFMEASURE":""}]
Ich bin auf der Suche, um nur den NAMEN und die ID aus der JSON-string in ein select-Liste mit jquery.
So zum Beispiel das wählen würde wie folgt Aussehen, wenn gefüllt:
<select id="EnergyList" name="EnergyList">
<option value="813">Nataural Gas</option>
<option value="812">Coal</option>
etc etc...
</select>
Jede Hilfe zu diesem wäre sehr appeciated.Danke.
InformationsquelleAutor jeeperscreepers | 2012-08-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mithilfe von jQuery können Sie dynamisch anfügen der Optionen auf der Grundlage des geparsten json-Quelle.
Finden Sie unter arbeiten DEMO
Basierend auf ankur ' s Kommentar nach der Optimierung sehen Sie unten die mehr optimierte version:
Finden Sie unter arbeiten optimiert DEMO
Rein für die Vollständigkeit auf die Optimierung Thema finden Sie unter die test-Ergebnisse auf alle 4 Varianten, Vergleich für vs jeden und einzelnen Anhängen vs Anhängen den kompletten Satz.
Natürlich
for loop
und Anhängen der komplette Satz als ankur darauf hingewiesen, führt der Schnellste.jsPerf Test-Ergebnisse
Optimieren Sie den code, den Sie sind in der Tat richtig, und zusätzlich einen einfachen javascript -
for i =0; ...
wäre wieder schneller als die.each()
als gut.Cool.....wusste nicht, über die jsPerf.. +1 für enlighting uns.. Hinzugefügt ein test-Fall das ist slichtly schneller nur durch verbinden von strings...jsperf.com/for-vs-each-and-append-single-vs-complete/2
Ich Liebe jsPerf, bekommt man zu denken und Spaß zu Durcheinander herum mit. Netter Zusatz.
Wollte nur sagen, danke an alle, die dazu beigetragen hier, ich habe jetzt es arbeitet nach dem code JC
InformationsquelleAutor Nope
Etwas so????
Hinweis:
Du wahrscheinlich alrady haben die get-Daten Teil.. Und ich habe mit async, um Daten ohne besonderen Grund....
InformationsquelleAutor Steen
InformationsquelleAutor Nick
Können Sie
JSON.parse(data)
zum konvertieren der JSON-string zu Objekt. DannJsonObj.Name
,JsonObj.ID
oder was auch immer Sie brauchen, Sie bekommen können aus dem Objekt.Für Ihren code
InformationsquelleAutor Ankur
Wenn Ihr Skript gibt JSON-Daten zu erhalten, können Sie damit jQuery-analysieren es direkt für Sie:
InformationsquelleAutor Simon