Строка таблицы будет видна только в том случае, если ее конкретный столбец должен показывать какое-то значение из БД, используя javascript - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть база данных. Теперь я хочу показать его значение в таблице. Таким образом, строка таблицы будет видна только в том случае, если конкретный столбец должен показывать некоторое значение из базы данных. Моя база данных выглядит следующим образом:

+--------+------+------------+---------+------+---------+---------+--------+---------+---------+--------+---------+---------+--------+
| c_name | c_id | cs_date    | t_marks | nos  | s_name1 | s_roll1 | marks1 | s_name2 | s_roll2 | marks2 | s_name3 | s_roll3 | marks3 |
+--------+------+------------+---------+------+---------+---------+--------+---------+---------+--------+---------+---------+--------+
| 22     | 22   | 2019-11-04 | 44      | 2    | A1      | 01      | 22     | A2      | 02      | 22     |         |         |        |
+--------+------+------------+---------+------+---------+---------+--------+---------+---------+--------+---------+---------+--------+

Теперь это jsp-страница, которую я пробовал:

<%@page import="beans.*"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script>
function showRow(){
    for(let i=1;i<=3;i++){
        let rownum=document.getElementById("classrow"+i);
        if(document.getElementById("sroll"+i)==""){rownum.style.display='block';}
        else{rownum.style.display='none';}
    }
}
</script></head>
<body>
<%
    class1 classd = (class1)session.getAttribute("classd");
    if(classd != null){
%>
<table align="center"><tr>
<th>Class<br>Name</th>
<th>Class<br>Total Marks</th>
<th>Class<br>Start Date<br>(Class ID)</th>
<th>Student<br>Name</th>
<th>Student<br>Roll</th>
<th>Student<br>Marks</th></tr>
<tr id="classrow1" style='display:none'>
<td><%=classd.getCname() %></td>
<td><%=classd.getTmarks() %></td>
<td><%=classd.getCsdate() %> (<%=classd.getCid() %>)</td>
<td><%=classd.getSname1() %></td>
<td id="sroll1"><%=classd.getSroll1() %></td>
<td><%=classd.getMarks1() %></td></tr>
<tr id="classrow2" style='display:none'>
<td></td>
<td></td>
<td><%=classd.getCsdate() %> (<%=classd.getCid() %>)</td>
<td><%=classd.getSname2() %></td>
<td id="sroll2"><%=classd.getSroll2() %></td>
<td><%=classd.getMarks2() %></td></tr>
<tr id="classrow3" style='display:none'>
<td></td>
<td></td>
<td><%=classd.getCsdate() %> (<%=classd.getCid() %>)</td>
<td><%=classd.getSname3() %></td>
<td id="sroll3"><%=classd.getSroll3() %></td>
<td><%=classd.getMarks3() %></td></tr></table>
<%
}
%>
</body></html>

Но я не получил желаемого результата. Пожалуйста помоги. Я знаю, что это легко, но я новичок в этой теме.

1 Ответ

1 голос
/ 09 ноября 2019

Это неверная конкатенация. "sroll"+1. Ваш цикл не использует i счетчик в нем.
Это должно быть похоже.

        var rownum=document.getElementById("classrow"+i);
        if(document.getElementById("sroll"+i)==""){rownum.style.display='block';}
        else{rownum.style.display='none';}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...