//Javascript
function updateStudentAttendance(event)
{
if ($(this).hasClass('here')) {
$(this).removeClass('here');
$(this).addClass('absent');
var schoolId = $(this).children('p').attr('id');
var studentId = $(this).attr('id');
var classId = document.getElementById("classId").value;
postAttendance(studentId, schoolId, classId, 'Absent');
}
function postAttendance(studentId, schoolId, classId, attendanceEvent)
{
$.post('post_attendance.php', {
'studentId': studentId,
'schoolId': schoolId,
'event': attendanceEvent,
'classId': classId
}, function(data) {
// alert(data);
});
}
//php code looks like this:
<?php
print sprintf('<div id="%s" class="student span2 well well-small %s">
<input type="hidden" id="classId" name ="classId" value="%s">'
, $student->getId(), $class, $classId);
print '<img src="img/userp.png" style="width: 100%; text-align: center;">';
print sprintf('<p id="%s" style="text-align: center; font-size: 12px;">%s %s'
, $_GET['schoolId'], $student->getFirstName, $student->getLastSurname());
print '</p>';
print '</div>';
?>
这就是我使用的代码,它从 id 中提取信息,我必须添加一个隐藏元素来获取 classId。然后我在修改后将其发布回来,以使用新信息更新数据库。我觉得这是一种非常奇怪的方法,并且希望有一个更好的解决方案来传递这些变量。
请让我知道一个更好的方法来做到这一点。谢谢!