2016-08-02 105 views
1

早上好! 我有兩個使用表單字段值動態創建的對象。他們是對象字面看起來是這樣的:如何獲取動態創建的對象插入到另一個對象中

var courses = {}; 
 
course['name'] = $('#course').val(); 
 
var students = {}; 
 
students['first'] = $('#first_name').val(); 
 
students['last'] = $('#last_name').val(); 
 
students['age'] = $('age').val();

我想將其插入到一個對象字面var person= {} 我需要的兩個對象爲一,因爲我需要字符串化,並送通過ajax到我的進程頁面。你可以幫我嗎?

回答

3

爲你創造它可以填充對象:

var persons = { 
    courses: { 
     name: $('#course').val(), 
    }, 
    students: { 
     name: $('#first_name').val(), 
     last: $('#last_name').val(), 
     age: $('#age').val(), 
    }, 
}; 

如果你想使用你已經有的對象,那麼你可以這樣做:

var persons = { 
    courses: courses, 
    students: students, 
}; 
+0

非常感謝。請我想知道它是否會自動創建帶有新值的新對象,或者如果我應該這樣做呢? – princesse

2

您可以創建2個對象,如一個對象:

var data = {courses:courses,students:students}; 

,或者您可以附加一個到另一個

students['courses'] = courses; 
1

這是什麼問題? 只需將這些對象放入對象中,然後就可以序列化它,例如以JSON和通過AJAX發送:

var person = {} 
person.course = {}; 
person.student = {}; 

person.course['name'] = "Course 1"; 
person.student['first'] = "Vasya"; 
person.student['last'] = "Pupkin"; 
person.student['age'] = "26"; 

如果你想多學生,你應該使用arrays。在這裏,我們創建3個對象的數組,每一個代表學生

var person = {} 
person.course = {}; 
person.students = [{},{},{}]; 

person.course['name'] = "Course 1"; 
person.students[0]['first'] = "Vasya"; 
person.students[0]['last'] = "Pupkin"; 
person.students[0]['age'] = "26"; 

person.students[1]['first'] = "Petya"; 
person.students[1]['last'] = "Vasechkin"; 
person.students[1]['age'] = "30"; 

person.students[2]['first'] = "Vasiliy"; 
person.students[2]['last'] = "Alibabaevich"; 
person.students[2]['age'] = "40"; 

你可以做同樣的事情課程

但是在這種情況下,名稱爲的人對於包含所有這些數據的對象有點混淆,因爲它包含多個學生。你應該給你的變量賦予有意義的名字。

+0

當我以這種方式創建對象時,最終對象只包含前兩個對象。我想創建許多具有相同結構但具有不同值的對象(學生)。我不知道如何一次性創建所有的學生,並將其包含到我串併發送的最終對象中。你可以幫我嗎? – princesse

相關問題