私はいくつかのリファクタリングを行い、与えられたドロップダウンにオブジェクトデータを取り込めるジェネリックメソッドを作成しようとしています。しかし、私は別のオブジェクトデータを一般的にアクセスする方法に関する問題に対処しています。たとえば、次のようにジェネリックメソッドでオブジェクト値にアクセスする
オリジナルメソッド
function populateDropdown(element, data) {
for (var i = 0; i < data.length; i++)
element.append('<option value=' + data[i].ID + '>' + data[i].Name + '</option>');
}
オブジェクトの指定された配列は、フィールドID
とName
を持っている場合、これは動作します。 populateDropdown($('#myDropdown'), dataArray, "ID", "DataType");
そして、ときに私が""
Iなしで試してみた:私は、結果としてUndefined
を取得し、このように、このメソッドを呼び出して試してみたときに私は何を達成しようとしていることは、この
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>');
}
のようなものですID
とDataType
が定義されていないというコンソールエラーが表示されます。オブジェクトから私が望むフィールドを自分のメソッドに伝える方法はありますか?
は非常に働いていますジェイソンありがとうございます!偉大な答えがたくさんありますが、最初に投稿したので、答えられた投票は時間が許せばあなたに行きます:) – Novastorm