当<select>更改值MySql时,更改<input type =“”/>的值

时间:2015-10-08 18:22:25

标签: html mysql jsp select onchange

我需要你的帮助来解决一个简单的问题: 我有一个表单,我需要当用户选择另一个值iin时,它将更改表单的所有值。 我的代码如下: &lt; form action =“updatecost.jsp”method =“post”onsubmit =“return check(this)”&gt; &LT; TR&GT;     &LT; TD&GT;&LT; I&GT;选择成本&lt; / i&gt;&lt; / td&gt;     &lt; td align =“left”&gt;&lt; select name =“oldcost”&gt;         &LT;%             的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 cf =“”;         while(rs.next()){             id = rs.getString(“IdCost”);             年= rs.getString( “年”);             时间= rs.getString( “时间”);             CF = rs.getString( “CF”);         %GT;         &lt; option value =“&lt;%= id%&gt;”&gt;&lt;%= year%&gt;&lt; / option&gt;         &LT;%             }         %GT;     &LT; /选择&GT;&LT; / TD&GT;     &LT峰; br&GT;     &lt; td&gt;&lt; i&gt;&lt; font color =“#660033”&gt;实际年份&lt; / font&gt;&lt; / i&gt;&lt; / td&gt;     &LT峰; br&GT;     &lt; input type =“text”name =“year”value =“&lt;%= year%&gt;” size =“25”/&gt;&lt; / td&gt;     &LT峰; br&GT;     &lt; td&gt;&lt; i&gt;&lt; font color =“#660033”&gt;实际费用&lt; / font&gt;&lt; / i&gt;&lt; / td&gt;     &LT峰; br&GT;     &lt; input type =“text”name =“cost”value =“&lt;%= cost%&gt;” size =“25”/&gt;&lt; / td&gt;     &LT峰; br&GT;     &lt; td&gt;&lt; i&gt;&lt; font color =“#660033”&gt; cf&lt; / font&gt;&lt; / i&gt;&lt; / td&gt;     &LT峰; br&GT;     &lt; input type =“text”name =“cf”value =“&lt;%= cf%&gt;” size =“25”/&gt;&lt; / td&gt;     &LT峰; br&GT;     &LT峰; br&GT;

2 个答案:

答案 0 :(得分:0)

最好将所有结果保存到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];
        }
    }
}

答案 1 :(得分:0)

试试这个<select><%for(Cost c: costs) {%><option value="<%=c.getIdCost()%>" onchange="setCost(<%=c.getIdCost()%>)"><%=c.getYear()%></option><%}%></select>