Zlonqi
2018-01-03 07:10
采纳率: 20%
浏览 3.8k
已采纳

jsp怎么实时更新某一行的数据

图片说明
把一个servlet查询的用户表的内容通过循环打印在一个jsp中,效果如下:
图片说明
每一行都有一个“保存”超链接转向一个servlet,把修改行的参数重写到数据库的用户表中,
,可是怎么构造这个href呢,因为我的href的参数在input标签中,曾尝试过用jquery组装href,但由于我是循环输出的每一行,所以每一行的每个属性的id(不是那个标识ID,是jquery中的$("#id"))会相同,所以只能更新第一行。我实在是不知道怎么做了,大家能替我指点指点思路吗

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • Always_MyLoverX 2018-01-04 08:04
    已采纳

    每一行都有一个“保存”超链接转向一个servlet,把修改行的参数重写到数据库的用户表中

    这种超链接实现是非常不靠谱

    你的数据本身是循环查询出来的,编辑后点击保存到servlet后台,更新后刷新界面

    点击保存必须得是个js方法,因为你保存前要取到对应这个保存记录的ID、用户名、密码、权限参数,传递给你的超链接

    改造下你的保存jsp代码如下,点击保存触发js方法save,所有事情都是save里操作
    保存

    再一个你如何取到对应这个保存记录的ID、用户名、密码、权限INPUT编辑框数据,用Jquery

    你提到Jquery,我估计你使用的不多,应该着重学习下,特别是选择器、ajax,不复杂

    function save(){ //直接借用楼上lvbinibnsb 取值写法 var id=$(this).parents("tr").find("td:eq(1)").val(); var user=$(this).parents("tr").find("td:eq(2)").val(); var pw=$(this).parents("tr").find("td:eq(3)").val(); var pm=$(this).parents("tr").find("td:eq(4)").val(); $.ajax({ type:'post', url:'servlet/Save',//这里是你servlet的保存方法,如你后台取ID值:String id = request.getParameter("id"); data:{ "id":id, "user":user, "pw",pw, "pm",pm }, success:function(data){ //走完后台代码响应前端这里,往下走 window.location.reload();//保存完刷新界面 } }); }
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • UPWARDONE 2018-01-03 07:36

    每一条数据后面都有一个保存,点击一个保存也就只有一个更新。输出信息你可以换一种方式用iterator。
    你从数据库取值在保存有什么用意吗?
    如果你想修改就写一个修改的方法。

    评论
    解决 无用
    打赏 举报
  • lvbinibnsb 2018-01-03 07:39

    每个保存上添加class="saveBtn"
    思路大概是这样:ajax返回 方法里重定向到list页面 你试试 我用记事本写的肯定有写错的地方
    $(document).on('click',".saveBtn",function(){

    var id=$(this).parents("tr").find("td:eq(1)").val();
    var user=$(this).parents("tr").find("td:eq(2)").val();
    var pw=$(this).parents("tr").find("td:eq(3)").val();
    var pm=$(this).parents("tr").find("td:eq(4)").val();
    $.ajax({
        type:'post',
        url:'路径',
        data:{
            "id":id,
            "user":user,
            "pw",pw,
            "pm",pm
        },
        success:function(data){
    
        }
    });
    

    });

    评论
    解决 无用
    打赏 举报
  • ycsdn10 2018-01-03 07:39

    接口名称+?参数名=值&参数名=值。。。

    比如
    saveUser?userId=11112122&userName=frank&userPwd=11&privilege=H

    你说的循环后,id会相同,但是其他信息不同的话,我就不明白了, ID 和后面对应的用户名等不都是数据库中查出来的,应该是对应的。仔细检查下

    评论
    解决 无用
    打赏 举报
  • liangqisheng 2018-01-03 08:09

    每行数据都会有一个唯 一值,例如ID或GUID,在构建href的时候可以加上这个唯一值,更新的时候根据唯一值进行更新就可以了。

    评论
    解决 无用
    打赏 举报
  • 光年以外 2018-01-03 08:17

    function save(id){
    //保存方法
    }

    //按钮

    这样楼主可明白?
    不明白继续问我,

    评论
    解决 无用
    打赏 举报
  • 光年以外 2018-01-03 08:18
     function save(id){
    //保存方法
    }
    
    
    //按钮
    <a href="javascript:void(0)" onclick="save("+id+")"></a>
    
    评论
    解决 无用
    打赏 举报
  • 轻语陌言 2018-01-03 09:14

    将保存button的id动态赋值,值就是遍历出来的id

    评论
    解决 无用
    打赏 举报
  • 刘信晨 2018-01-04 03:17

    你可以 去这个博客看看 和你的问题一样 http://blog.csdn.net/qq_36481052/article/details/78704576

    评论
    解决 无用
    打赏 举报
  • Zlonqi 2018-01-06 03:19

    谢谢各位提供的思路,我已经解决问题了,像楼上所说,应该用的是选择器获取被选中的那一行的所有来组装href

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题