在下拉列表值更改时创建html表?

时间:2013-08-21 08:11:07

标签: java html jsp onchange html-select

我想知道如何在选择下拉列表值时自动刷新页面,并且在刷新页面时根据此信息,它必须在表格视图中显示来自DB的一些值。我知道我的要求很多,但我想知道一种方法。我正在开发一个Web应用程序,它由JAVA EE平台使用JSP-Servlets开发。我刚收到DB的记录并将它们列入下拉列表。现在我想在选择下拉列表项时创建一个表(无提交按钮)。我怎么能这样做,我该怎么做?我应该使用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中获取它们。我可以做那个编码。我想知道我该怎么做?

1 个答案:

答案 0 :(得分: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>