我有一个表格,可以为每个注册学生创建一个表单,每个表单按钮都有不同的学生ID。 When I clicked on the button, I want the student's mongoDB ID and his/her name to display on the textbox on the left.
这是EJS档案:
<tbody>
<% students.forEach(function(data) { %>
<tr>
<td>
<form id="addGrades" action="/teacher/add-score/<%= data._id %>">
<button id="addScores" class="ui button" type="submit">
<%= data.lastName + ", " + data.firstName + ", " + data.middleName %>
</button>
</form> //code continues
我的Ajax脚本:
$(document).ready(function(){
$("body").on("submit", "#addGrades", function(e){
e.preventDefault();
var addScore = $("#addGrades");
$.ajax({
url: addScore.attr("action"),
contentType: "application/json",
success: function(result){
var form = $("#studentDetails");
var inputID = $("#studentID");
var inputName = $("#studentName");
inputID.val("");
inputName.val("");
inputID.val(result.foundStudent._id);
inputName.val(result.studentName);
}
});
});
&#13;
快递路线:
router.get("/teacher/add-score/:id", function(req, res){
var studentID = req.params.id;
userModel.findById(studentID, function(err, foundStudent){
if(err) {
console.log(err);
} else {
var studentName = foundStudent.firstName + " " + foundStudent.middleName + " " + foundStudent.lastName;
res.send({foundStudent: foundStudent, studentName: studentName});
}
})
});
&#13;
问题当我点击第一个数据的第一个按钮(Nicolas的第一行)时,它可以工作,但是当我点击第二个数据(带Darktower的按钮)时,它没有& #39;吨。所以我尝试删除Ajax脚本并尝试在控制台上记录结果,并记录正确的数据。所以,问题可能出在我的Ajax脚本中。我已经在网上搜索过了,但似乎都没有。
答案 0 :(得分:0)
<强>解强>
这是我的HTML结构。 jQuery努力寻找我点击的按钮,所以我在单击的按钮上添加了一个单击的类,并将其用于jQuery。