Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取将存储在表单中的select选项值中的数据?_Java_Javascript_Ajax_Servlets - Fatal编程技术网

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,但没有实现它的经验。当我在第一个选择框中选择值时,我希望它是动态数据获取。请帮帮我,伙计们,提前谢谢你们

这很容易做到,因为您知道需要采取哪些步骤

  • 针对所需的某个JavaScript事件发送AJAX请求。在您的情况下,它是第一个
    一次更改。当然,您可以自己发送
    XMLHttpRequest
    ,但使用jQuery这样的成熟JS库更容易(而且更稳定)
  • 该请求由一个专用servlet接收,该servlet接受一些数据,这些数据将用于获取java代码中的必要数据,并将获取的数据以JSON格式发送回webbrowser。传入数据是第一个
    元素的所选
    的值,如果您打算将此servlet用于其他目的,则可能是提取操作的id。从servlet返回的JSON格式的数据序列化可以通过使用类似Gson的库来完成
  • 当servlet响应成功返回到客户机时,将使用其中可用的servlet数据执行JS回调函数。您可以使用这些数据创建HTML元素,用特定于应用程序的数据填充它们,并用新获取的数据更新HTMLDOM(第二个
    元素)

  • 可能是@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;
    }