请使用此 Javascript 脚本从我的考试表中提取行。从考试表中提取的内容也应该拉出主题表。以下是我使用 Javascript 和 Java 尝试过的事情。
<script type="text/javascript">
function selRow(){document.getElementById('ExamId').onchange = function() {
document.getElementById('SubjectId').selectedIndex = this.selectedIndex;
}}</script>
所以我对这件事的意图是,当用户选择 ExamId 时,让它拉出属于 Exam 的 SubjectId,因为 Subject 在我的数据库中有 ExamFK。
这是我从数据库中提取 ExamID 的代码:
<td width="121"><select name="txtExam" id="ExamId" onChange="selRow()">
<option value="">[Select an Exam First]</option>
<%if (exams != null && !exams.isEmpty()){
for (Iterator iterator = exams.iterator(); iterator.hasNext();){
Exam exam = (Exam)iterator.next();%>
<option value="<%= exam.getId()%>"><%= exam.getName()%></option>
<%}}%></select></td>
这是我从主题表进行后续更改的代码:
<td width="130"> <select name="txtSubject" id="SubjectId">
<option value="0">[Select Subject]</option>
<%Long l = new Long(0L);
if (subjects != null && !subjects.isEmpty()){
// instance.setSelectedExamId(Long.valueOf(subjectIdString));
// exams = (Exam)exams.getRecordById(Exam.class, Long.valueOf(subjectIdString));
for (Iterator iterator = exams.iterator(); iterator.hasNext();)
{
Exam exam = (Exam)iterator.next();
Subject subject;
subject = (Subject)ExamPrepValidationServlet.examService.getRecordById(Exam.class, l);
%><option value="<%= subject.getId()%>"><%= subject.getName()%></option>
<%}}%>
</select></td>
我不知道我的方向是否正确,但请有人来帮助我。谢谢