html - 当<select>改变值时改变&lt;input type>的值 MySql

标签 html mysql jsp select onchange

我需要你帮助解决一个简单的问题:

我有一个表单,我需要当用户在 a 中选择另一个值时,它将更改表单的所有值。 我的代码如下:

<form action="updatecost.jsp" method="post" onsubmit=" return check(this)">

<tr>
    <td><i> choice cost</i></td>
    <td align="left"><select name="oldcost">

        <%
            Class.forName("com.mysql.jdbc.Driver");
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","user","pass");
                Statement statement = conn.createStatement();
                ResultSet rs = statement.executeQuery("select * FROM cost");
        String id = "";
        String year="";
        String time="";
        String cf="";
        while (rs.next()) {
            id = rs.getString("IdCost");
            year=rs.getString("year");
            time=rs.getString("time");
            cf=rs.getString("CF");
        %>

        <option value="<%=id%>"><%=year%></option>


        <%
            }
        %>
    </select></td>
    <br>
    <td><i><font color="#660033"> actual year</font></i></td>
    <br>
    <input type="text" name="year" value="<%=year%>" size="25" /></td>
    <br>
    <td><i><font color="#660033">actual cost </font></i></td>
    <br>
    <input type="text" name="cost" value="<%=cost%>" size="25" /></td>
    <br>
    <td><i><font color="#660033"> cf </font></i></td>
    <br>
    <input type="text" name="cf" value="<%=cf%>" size="25" /></td>
    <br>
    <br>

最佳答案

最好将所有结果保存到ArrayList<Cost> costs中然后执行以下操作:

Javascript:

        var ids = new Array(),
            years = new Array(),
            times = new Array(),
            cfs = new Array();

        <%
            for(Cost c: costs) {
        %>
            ids.push("<%=c.getIdCost()%>");
            years.push("<%=u.getYear()%>");
            times.push("<%=u.getTime()%>");
            cfs.push("<%=u.getCF()%>");
        <%
            }
        %>

然后插入onchange="setCost(<%=id%>);"函数进入select并添加 JavaScript 函数

function setCost(id) {
    for(var i = 0; i < ids.length; i++) {
        if(ids[i] == id) {
            document.getElementsByName("years")[0].value = years[i];
            document.getElementsByName("cost")[0].value = costs[i];
            document.getElementsByName("cf")[0].value = cfs[i];
        }
    }
}

关于html - 当<select>改变值时改变&lt;input type>的值 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023241/

相关文章:

php - MySQL查询排序/分组性能

java - 无法使用属性文件在java中连接到MySql

java - JSP - 保存集合

java - spring 模型对象未在 jsp 页面上呈现

html - 使用 SCSS 在日历中发布样式化多日期事件

jquery - 为什么我的 jQuery UI 按钮恢复为超大和通用?

html - 谷歌浏览器上的边框。 (CSS) ¿如何删除?

javascript - 如何使用 Fuse.js 和 Redis 在 MySQL 表中进行全文搜索?

java - struts2中的文件上传

javascript - 单击时获取选定 anchor 标记的 id,并相应地设置另一个 div 的 html