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发送到我的进程页面。你能帮我吗?
答案 0 :(得分: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,
};
答案 1 :(得分:2)
您可以使用以下2个对象创建对象:
var data = {courses:courses,students:students};
或者你可以将一个附加到另一个
students['courses'] = courses;
答案 2 :(得分: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个对象的数组,每个对象代表一个 student :
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";
你可以用课程做同样的事情。
但在这种情况下,包含所有这些数据的对象的名称 person 有点令人困惑,因为它包含多个学生。您应该为变量提供有意义的名称。