我有2个表学生和标记,每个班级有不同数量的学生,
我正在尝试创建一个表单,我想为所选的Class中的所有学生生成 MarksTable 结构,例如,第9课有45名学生,我想为每个学生生成45行1,并希望为每个学生批量插入 MarksTable 1行。
在本页面上,我们允许教师选择类,并使用jquery我们正在用行数更新DOM,请帮助
此致
答案 0 :(得分:1)
将您的数据作为JSON传递到服务器可能是您的解决方案。
现在假设您的网页有一个包含45行的表格,每行有5个文本框(比如用于输入主题标记)。你需要遍历所有行并构造你的json对象数组(每个对象代表一个学生)。
var students = [];
$('#students tbody tr').each(function(indx, el){
arrtd = $(el).find('td');
var student_id = arrtd[0].innerHTML;
var student_name = arrtd[1].innerHTML;
var subject_1 = arrtd[2].innerHTML;
//...
students.append(
{
studentid: student_id,
name: student_name,
...
}
);
});
var stringify_result = JSON.stringify(students);
此字符串化版本成为服务器上相应操作的参数。您可以将其值分配给隐藏变量并在服务器上提交表单;或者在$.ajax
电话中将其作为参数传递。
在服务器端,您需要使用newtonsoft json库来解析json字符串:
public ActionResult BulkInsert(string students_json)
{
var jarr = JArray.Parse(students_json);
foreach(JObject obj in jarr)
{
var student_id = obj['studentid'].Value;
//...
}
}
答案 1 :(得分:0)
立即尝试批量插入文件上传功能。