Java 如何获取将存储在表单中的select选项值中的数据?
我想动态地从数据库中获取数据并填充选择框。这是我的代码:Java 如何获取将存储在表单中的select选项值中的数据?,java,javascript,ajax,servlets,Java,Javascript,Ajax,Servlets,我想动态地从数据库中获取数据并填充选择框。这是我的代码: <form action="addchangerequest" method="post"> <select name="type"> <option value="Non-Sap">Non-Sap</option> <option value="Sap">Sap</option>
<form action="addchangerequest" method="post">
<select name="type">
<option value="Non-Sap">Non-Sap</option>
<option value="Sap">Sap</option>
</select>
<select name="assettriggered">
** I want to populate these option values upon making a selection to the first select box. These option will be the data coming from the database**
</select>
</form>
我希望AssetDeployed_类型数据必须导入名为“assettriggered”的选择框。Im使用MVCModel2JSPServlet。我搜索过ajax,但没有实现它的经验。当我在第一个选择框中选择值时,我希望它是动态数据获取。请帮帮我,伙计们,提前谢谢你们 这很容易做到,因为您知道需要采取哪些步骤
的一次更改。当然,您可以自己发送XMLHttpRequest
,但使用jQuery这样的成熟JS库更容易(而且更稳定)
元素的所选
的值,如果您打算将此servlet用于其他目的,则可能是提取操作的id。从servlet返回的JSON格式的数据序列化可以通过使用类似Gson的库来完成
元素)可能是@LuiggiMendoza的副本谢谢你,先生。这将是一个很大的帮助!不客气。顺便说一下,因为看起来您将使用POST而不是GET来执行ajax操作,所以您可以使用
$.POST
而不是$。GET
并通过使用doPost
而不是doGet
来处理它。您可以在jQuery文档(或处理ajax调用的javascript库)中找到有关启动ajax调用的更多信息。@LuiggiMendoza因为它将是一个ajax请求,所以选择方法(POST/GET)只要找到合适的servlet方法,它就相当任意。@skuntsel它不是那么任意的,但在像这样的简单请求中,它可能是GET请求。只是扩展了BalusC的答案中关于ajax调用的另一个用途的伟大解释,该调用不应该以类似GET-like登录的方式发送。
public List sortDeployed(String userID)
{
List deployedlist = new ArrayList();
try
{
PreparedStatement pstmt = conn.prepareStatement(SORT_ID);
pstmt.setString(1, userID);
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
StoreAssetBean storeAssetBean = new StoreAssetBean();
storeAssetBean.setDeployedID(rs.getInt("AssetDeployed_ID"));
storeAssetBean.setName(rs.getString("Asset_Name"));
storeAssetBean.setMmoID(rs.getString("UserDivision_ID"));
storeAssetBean.setDepartment(rs.getString("User_Department"));
storeAssetBean.setDepType(rs.getString("AssetDeployed_Type"));
storeAssetBean.setDeployedDateTime(rs.getString("AssetDeployed_DateTime"));
deployedlist.add(storeAssetBean);
}
}
catch(SQLException e)
{
System.out.println(e);
}
return deployedlist;
}