0

我想知道如何在选择下拉列表值时自动刷新页面,并且根据这个刷新页面时,它必须在表视图中显示来自 DB 的一些值。我知道我要求很多,但我只是想知道一种方法。我正在开发一个由 JAVA EE 平台使用 JSP-Servlets 开发的 Web 应用程序。我刚刚从数据库中获取记录并将它们列出到下拉列表中。现在我想在选择下拉列表项时创建一个表(无提交按钮)。我该怎么做?我应该怎么做?我应该使用 servlet 还是其他方法?我可以发布与之相关的 JSP 页面。

STAFF HERE....

  <form action="/ProjectResultServlet" method="post">
   <select name="selectedProject">
   <c:forEach items="${projects}" var="project">
   <option value="${project.code}">${project.desc}"</option>
   </c:forEach>
   </select>
   <input type="submit" value="Order" />
  </form>

    Some Staff here

我的这部分代码正在获取下拉列表并在其中显示它们。现在,当我选择一个项目时,它应该自动刷新并使用来自 DB 的信息创建一个信息表。我知道我应该在 Java 类或 servlet 中创建表以从 jsp 获取它们。我可以做那个编码。我想知道我该怎么做?

4

1 回答 1

0

这是 AJAX 的示例代码。因此您可以根据您使用的任何语言对其进行修改。

<!DOCTYPE html>
<html>
<head>
<script>
function showCustomer(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}
</script>
</head
<body>

<form>
<select name="customers" onchange="showCustomer(this.value)">
<option value="">Select a customer:</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
<br>
<div id="txtHint">Customer info</div>

</body>
</html>
于 2013-08-21T08:45:32.970 回答