我想知道如何在选择下拉列表值时自动刷新页面,并且在刷新页面时根据此信息,它必须在表格视图中显示来自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中获取它们。我可以做那个编码。我想知道我该怎么做?
答案 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>