2 z174432 z174432 于 2018.01.03 15:10 提问

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

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

12个回答

qingtianlong97
qingtianlong97   2018.01.04 16: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
UPWARDONE   2018.01.03 15:36

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

z174432
z174432 我是想以管理员身份管理用户表,可以指定普通用户的权限和修改密码
16 天之前 回复
ycsdn10
ycsdn10   2018.01.03 15:39

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

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

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

z174432
z174432 我说的id是$("#id")中的id,不是标识种子ID
16 天之前 回复
lvbinibnsb
lvbinibnsb   2018.01.03 15: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){

    }
});

});

z174432
z174432 不好意思,异步传输我不太懂
16 天之前 回复
liangqisheng
liangqisheng   2018.01.03 16:09

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

z174432
z174432 不完全是这样哦,我是想点击某一行的保存按钮后,该行的所有参数都会被href送到一个servlet中以更新这个表的这一行
16 天之前 回复
qq594100253
qq594100253   2018.01.03 16:17

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

//按钮

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

qq594100253
qq594100253   2018.01.03 16:17

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

//按钮

qq594100253
qq594100253   2018.01.03 16:18
 function save(id){
//保存方法
}


//按钮
<a href="javascript:void(0)" onclick="save("+id+")"></a>
z174432
z174432 不好意思,我还是不太懂,你是在哪里构造这个href
16 天之前 回复
qq_35827809
qq_35827809   2018.01.03 17:14

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

qq_36481052
qq_36481052   2018.01.04 11:17

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

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!