基本的に、この動的に作成されたオブジェクトは、配列に入れた PHP スクリプトから送り返されます。ユーザーが表示するものを選択するために使用するツールの配列内の場所と、取得したいオブジェクトのプロパティを保存します。
例:
Object{
Property1: string
Property2: Int
Property3: Object{
innerObjProperty1: Array
innerObjProperty2: string
}
Property4: Object{
innerObjProperty1: Array
innerObjProperty2: string
}
Property5: Object{
innerObjProperty1: Array
innerObjProperty2: string
}
}
そして、それは配列内の1つのオブジェクトになります
array={object1, object2}
そして、その配列はユーザー入力に基づいて動的に入力されます。
ここで、object1 から配列内の innerObjProperty1 を取得したい場合は、簡単に実行できることがわかっています。
array[object1].Property3.innerObjProperty1
しかし、ユーザーベースであるため、配列内のどのポイントとどのプロパティが選択されているかはユーザー次第です。内部オブジェクト内の値は常に同じ選択されます (表示する値の配列であるため、innerObjProperty1) が、オブジェクトのどのプロパティが選択ボックスに依存するかが決まります。
配列の場所とプロパティ名を持つIDが関連付けられている場所に選択を設定しましたが、変数に基づいてオブジェクトをすばやく選択する簡単な方法はわかりません。例えば:
var theSplit= $(this).attr("id").split("|");
var arrayItem = theSplit[0];
var objProperty = theSplit[1];
alert(array[arrayItem].objProperty.innerObjProperty1;
決してうまくいきません。手短な方法はありますか?または、関数を使用してプロパティの各項目をループし、objProperty に等しい項目を見つける必要がありますか? 簡単に見えて申し訳ありませんが、できれば短針を使用したいので、思いつきません。配列内のオブジェクトをループするのはそれほど難しくありません。JavaScript または jQuery を使用した簡単な方法があるかどうかを確認したいだけです。