试图将所选主题列表传递给Controller,但是bean没有收到主题列表。
这是我正在尝试的代码:
$("#submitCreateStudent").click(function() {
var selSubjectIds = new Array();
$('#subjectsTableInCreateStudent').find('.jtable-data-row').each(function() {
if (selSubjectIds.length < 1) {
selSubjectIds.push($(this).attr('data-record-key') + '$');
} else {
selSubjectIds += $(this).attr('data-record-key') + '$';
}
});
if (validateCreateStudentForm()) {
var data = new FormData();
data.append('firstName', $("#firstNameInCreateStudent").val());
data.append('lastName', $("#lastNameInCreateStudent").val());
data.append('address', $("#studentAddressInCreateStudent").val());
data.append('collegeName', $("#studentCollegeNameInCreateStudent").val());
data.append('phoneNumber', $("#phoneNumberInCreateStudent").val());
data.append('email', $("#emailInCreateStudent").val());
data.append('studentDepartment', $("#departmentInCreateStudent").val());
data.append('studentBranch', $("#branchInCreateStudent").val());
data.append('DateOfBirth', $("#dobInCreateStudent").val());
data.append('DateOfReport', $("#dorInCreateStudent").val());
data.append('loginUserName', $("#studentUserNameInCreateStudent").val());
data.append('loginPassword', $("#passwordInCreateStudent").val());
data.append('studentSubjects', selSubjectIds);
// data.append('skipInitialTraining', skipInitialTraining);
$("#maskingId").mask("Saving...");
$.ajax({
url: "AddStudent.do",
data: data,
//
//Remaining code goes here.
});
});
所有详细信息都将进入控制器类,但选中的主题列表复选框除外。
答案 0 :(得分:1)
默认情况下,jQuery支持json格式提交
data :{‘selSubjectIds’:selSubjectIds}
或$(this).serialize();
答案 1 :(得分:0)
感谢大家的努力。我发现自己可以解决 如下
var arr = "";
$('#subjectsTableInCreateStudent').find('.jtable-data-row').each(function() {
var record = $(this).data('record');
arr += record.subjectId + seperatorForGridCells;
});
在这里,arr变量通过与 一些分隔符“ seperatorForGridCells”。然后我用StringTokenizer 分隔每个id并将每个id从字符串类型解析为int。