我的html中有此脚本,如果状态为0
,则可以点击“evaluate
”按钮,否则按钮将为hidden
。
$('#table-content').append
使用scriplet中的while循环从我的数据库中检索所有数据。
我正试图从用户点击的表中获取哪一行,但我继续从表中获取最后一行。
<%
while (records.next()){
String regisID = records.getString("registrationID");
String courseName = records.getString("courseName");
String profName = records.getString("professorName");
String courseTime = records.getString("courseTime");
String SID = records.getString("SID");
int status = records.getInt("status");
%>
var num = <%= status %>;
var btn = "";
if(num===0)
btn = "<td style='width: 10%;'><button type='button' id='evaluateBtn' class='btn btn-block btn-primary'>Evaluate</button></td>";
else
btn = "<td style='width: 10%;'><button type='button' class='btn btn-block btn-success disabled'>Done</button></td>";
$('#table-content').append(
"<tr>"+
"<td style='width: 20%;'><%= courseName %></td>"+
"<td style='width: 25%;'><%= profName %></td>"+
"<td style='width: 20%;'> <%= courseTime %></td>"+
btn+
"</tr>"
);
$("#evaluateBtn").click(function() {
var form = document.createElement("form");
document.body.appendChild(form);
$(form).append("<input type='hidden' name='registrationID' value='<%= regisID %>'/>");
$(form).append("<input type='hidden' name='courseName' value='<%= courseName %>'/>");
$(form).append("<input type='hidden' name='SID' value='<%= SID %>'/>");
form.action="http://localhost:8080/NewDesignV1/evaluate.action";
form.method="post";
form.submit();
$(form).remove();
});
<%} %>
如果点击evaluate
按钮,我想要检索主题,教授和时间。请注意,我使用while循环循环表行,这就是为什么如果我点击evaluate
按钮,我会继续获取最后一行的详细信息
答案 0 :(得分:0)
根据我的理解,您希望为单击的按钮选择相应的行。正如你所说,你正在从服务器接收记录并通过JQuery迭代。据我所知,ID元素在Document中应该是Unique,并且在循环中创建了多个ID元素。您可以使用Class而不是ID。要选择当前表行,您可以使用以下代码。 这只是示例:
<table>
<tr>
<td class="one">A</td>
<td style='width: 20%;' class="courseName">ABc</td>
<td><button class="the-btn">
Click
</button></td>
</tr>
<tr>
<td class="one">b</td>
<td style='width: 20%;' class="courseName">DEF</td>
<td><button class="the-btn">
Click
</button></td>
</tr>
和JS:
$(document).ready(function(){
$('.the-btn').on('click',function(){
alert($(this).closest('tr').find('.courseName').text());
});
});
这是Fiddle