2012-10-10 31 views
1

我想创建一个使用javascript和html的网页,它会从用户处获取许多学生的详细信息,并将其动态存储到数组中。 所以我想我需要的是一个可以动态给定值的数组数组。 我创建了一个页面来获取学生的详细信息,如“名字”。 “姓氏”,“入场号码”和“班级”。我创建了一个表单并获得了这样的值。如何在JavaScript中创建一个包含一组数组并为其动态分配值的数组?

form = document.std_form; 
f_name=form.firstname.value ; 
l_name=form.lastname.value ; 
a_no=form.ad_number.value ; 
c_no=form.class_no.value ; 

f_name保持姓名等.. 现在我想创建保持阵列STD1,STD2,STD3等各保持单独的学生的细节的阵列student_list。请告诉我如何创建这样一个数组,以及我如何显示每个元素。

回答

1

你可以有一个数组名称student_list它拥有所有的学生和一个数组student其中持有个别学生。

var student_list = new Array(); // this will have to be initialized only once 

var student = new Array(); // create instances for students with every student being entered through form 

// code to populate student array 

student_list.push(student); // push students one by one in main list. Should be executed with each student being saved. 

请根据您的需要修改代码。

你可以看看this看看如何遍历它。

希望它可以帮助!

+0

非常感谢。你能告诉我如何创建数组学生,其中包含“名”,“姓”,“入场号码”和“班级”字段?我只是想声明数组,以便在用户输入时为其动态分配值。 – Mathew

+0

当我们点击像 “保存” 按钮一些什么的,执行该代码每次: 'VAR学生=新的Array();' 然后 '形式= document.std_form;'' student.push( form.firstname.value);' 和各自的字段。 最后这样做 'student_list.push(student);' – Cyclone

+0

因此,无论你在代码中做什么,只要在顶部创建一个数组,然后将表单值推入该数组中,然后将该数组推入student_list。然后你明白了。 – Cyclone

0

下面是一个例子。

[编辑]

var studentList = new Array(); 
var curStudent = new Object(); 

    var i, num; 

    num = getNumberOfRecordsToAdd(); // how ever it is that you know how many the user wants to add 

    for (i=0; i<n; i++) 
    { 
     curStudent.f_name = getFname(i); // however it is you retrieve these from where ever they are at the moment 
     curStudent.l_name = getLname(i); 
     curStudent.a_no = getAno(i); 
     curStudent.c_no = getCno(i); 
     studentList.push(curStudent); 
    } 

这个代码将会给你项目的数组。每个项目是一个对象,其中有 4个字段。

即:

//Student1: 

    studentList[0]  // student 1 (student0) 
    studentList[0].f_name // student1's f_name 
    studentList[0].l_name // student1's l_name 


//Student2: 

    studentList[1]  // student2 
    studentList[1].a_no // student2's a_no 
    studentList[1].c_no // student2's c_no 
+0

谢谢,但我遇到了这个问题..其实我想要的是,我想 curStudent [1]存储f_name,l_name等student1, curStudent [2]存储f_name ,l_name等学生2, 等智慧..你能帮我吗? – Mathew

+0

你想要一个_multi-dimensional_数组,对吧? curStudent用于保存每个学生的详细信息,然后将其添加到学生列表中。你是否希望通过数组或姓名访问每个学生的个人信息字段? – enhzflep

+0

请参阅更新的解决方案。 – enhzflep

相关问题