Ich mache einige Refactoring und versuche, eine generische Methode zu erstellen, die in der Lage ist, bestimmte Dropdowns mit Objektdaten aufzufüllen. Ich stoße jedoch auf ein Problem, wie man den Zugriff auf verschiedene Objektdaten generisch machen kann. Zum Beispiel:Zugriff auf Objektwerte mit generischer Methode
Original-Methode
function populateDropdown(element, data) {
for (var i = 0; i < data.length; i++)
element.append('<option value=' + data[i].ID + '>' + data[i].Name + '</option>');
}
Dies funktioniert, wenn eine bestimmte Reihe von Objekten, das Feld ID
und Name
hat. Was ich versuche zu erreichen ist so etwas wie dieses
function populateDropdown(element, data, valueField, dataField) {
for (var i = 0; i < data.length; i++)
element.append('<option value=' + data[i].valueField + '>' + data[i].dataField + '</option>');
}
Als ich versucht habe, ruft diese Methode wie folgt ich Undefined
als Ergebnis erhalten: populateDropdown($('#myDropdown'), dataArray, "ID", "DataType");
Und wenn ich habe versucht, ohne die ""
I Erhalten Sie einen Konsolenfehler, der besagt, dass ID
und DataType
nicht definiert ist. Gibt es eine Möglichkeit, meiner Methode mitzuteilen, welche Felder ich vom Objekt haben möchte?
Sie sehr viel Jason Vielen, die gearbeitet hat! Viele tolle Antworten, aber du warst der erste, der die Antwort gepostet hat. – Novastorm