问题描述
- JSP中怎样让一个按钮只处理对应行的数据?
-
<% Connection conn=null; Statement stat=null; ResultSet rs=null; Class.forName(""com.mysql.jdbc.Driver"").newInstance(); String url=""jdbc:mysql://localhost:3306/app?user=root&password=000000""; conn=DriverManager.getConnection(url); stat=conn.createStatement(); rs=stat.executeQuery(""select * from t_user""); while(rs.next()){ %> <tr align=""center""> <td><%= rs.getString(""ord"") %></td> <td><%= rs.getString(""pro"") %></td> <td><%= rs.getString(""name"") %></td> <td><input type=""hidden"" id=""state"" value=""已处理""> <input type=""button"" value=""处理"" onclick=""modify()""> </td> </tr> <% }%> <script type=""text/javascript""> function modify(){ var ord=$(""#ord"").val(); var pro=$(""#pro"").val(); var name=$(""#name"").val(); var state=$(""#state"").val(); $.ajax({ url:encodeURI(encodeURI('/application/user/updatestate')) type:'get' cache:false success:function() { alert(""处理成功!""); window.location.href=""/application/user/index""; }}); } </script>
以上是我代码的一些片段,后台调用的java方法就不贴出来了,只是比较简单的update方法,而且也并没有实现预想的功能。
我这段代码是从MySql数据库中读取数据,然后依次显示在表格中,预想实现的功能是点击每一行数据后的“处理”按钮后,就将该行数据在数据库中对应的state值改为“已处理”,现在后台方法能够运行,state值也能更改,但是问题是,无论点击哪一行数据后的“处理”按钮,都只会改变第一行数据的state值,对该行数据并不起作用,我就想到用select进行筛选并修改对应值,可是也没有用,请问我预想的这个功能应该如何实现呢?
解决方案
带参数异步调用,例如把id传进去
解决方案二:
')"">
解决方案三:
')"">
解决方案四:
CSDN有BUG,HTML标签竟然能保存,但是显示出错,
onclick=""modify('<%=rs.getString(""ord"")%>')"",楼主把onclick方法修改下,加上id的参数
时间: 2025-01-29 07:37:16