【发布时间】:2012-05-16 05:20:04
【问题描述】:
背景: 我有 - Search.jsp、SearchResult.java 和 SearchDetails.java 文件。我需要在表单提交时通过 jquery/(ajax?) 将搜索值发布到 SearchResult servlet,并将结果显示在 1 列表中。 之后,该用户可以单击任何行以在同一页面中查看该结果的详细信息。在这种情况下,我的计划是点击特定行的点击事件,我必须通过 jquery-ajax 调用 SearchDetails servlet。
问题: 我现在可以在动态填充的表格中获取搜索结果,并且在每一行中,我都在 /link 标记中填充结果。 1.请告诉我如何将结果填充到表格中,以便我可以进行分页等。 2. 我如何调用 SearchDetails servlet 并使用存储在动态填充的 td 中的隐藏值。
我的经验:我从过去 1 个月开始研究 jsp、servlet、jquery-ajax。但是.net 持续了 7 年。
搜索.jsp:
<script>
$(document).ready(function() {
$('#btnSearch').click(function() {
$mobileNo = document.getElementById("txtMobileNo").value;
$.post('BE_AccountSearch', {mobileNo:$mobileNo},
function(responseText){
$('#dvSearchResultSub').html(responseText);
});
});
});
</script>
<form id="form" method="post">
<input name="txtMobileNo" id="txtMobileNo" autofocus>
<input type="button" id="btnSearch" value="Search"/>
<div id="dvSearchResultSub"></div>
</form>
SearchResult.java (servlet):
out.println("<table>");
for (int i = 0; i < memberList.size(); i++){
out.println("<tr>"); out.println("<td>");
out.println("<a id=\"memberList\" href=\"BE_AccountDetails?uln=" + memberList.get(i).getUsername() + "\">");
out.println(memberList.get(i).getUsername());
out.println("</a>");
out.println("</td>");
out.println("</tr>");
}
out.println("</table>");
out.println("</div>");
out.flush();
out.close();
【问题讨论】:
-
Search.jsp:
<script> $(document).ready(function() { $('#btnSearch').click(function() { $mobileNo = document.getElementById("txtMobileNo").value; $.post('BE_AccountSearch', {mobileNo:$mobileNo}, function(responseText){ $('#dvSearchResultSub').html(responseText); }); }); }); </script><form id="form" method="post"> <input name="txtMobileNo" id="txtMobileNo" autofocus> <input type="button" id="btnSearch" value="Search"/> <div id="dvSearchResultSub"></div> </form> -
SearchResult.java (servlet):
out.println("<table>"); for (int i = 0; i < memberList.size(); i++){ out.println("<tr>"); out.println("<td>"); out.println("<a id=\"memberList\" href=\"BE_AccountDetails?uln=" + memberList.get(i).getUsername() + "\">"); out.println(memberList.get(i).getUsername()); out.println("</a>"); out.println("</td>"); out.println("</tr>"); } out.println("</table>"); out.println("</div>"); out.flush(); out.close(); -
所以,上面的代码运行良好。但是当我单击结果值时,它直接打开“BE_AccountDetails”页面,因为我使用了链接按钮。我想要做的是 - 通过单击我想用手机号执行第二个 servlet 的链接并获取大约 30/35 个字段的数据(fName、mName、lName 等)并将其显示在此页面上。跨度>
-
您可以编辑问题。仅将 cmets 用于简短的说明、建议等。