把一个servlet查询的用户表的内容通过循环打印在一个jsp中,效果如下:
每一行都有一个“保存”超链接转向一个servlet,把修改行的参数重写到数据库的用户表中,
,可是怎么构造这个href呢,因为我的href的参数在input标签中,曾尝试过用jquery组装href,但由于我是循环输出的每一行,所以每一行的每个属性的id(不是那个标识ID,是jquery中的$("#id"))会相同,所以只能更新第一行。我实在是不知道怎么做了,大家能替我指点指点思路吗
每一行都有一个“保存”超链接转向一个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();//保存完刷新界面 } }); }每一条数据后面都有一个保存,点击一个保存也就只有一个更新。输出信息你可以换一种方式用iterator。
你从数据库取值在保存有什么用意吗?
如果你想修改就写一个修改的方法。
每个保存上添加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){
}
});
});
接口名称+?参数名=值&参数名=值。。。
比如
saveUser?userId=11112122&userName=frank&userPwd=11&privilege=H
你说的循环后,id会相同,但是其他信息不同的话,我就不明白了, ID 和后面对应的用户名等不都是数据库中查出来的,应该是对应的。仔细检查下
每行数据都会有一个唯 一值,例如ID或GUID,在构建href的时候可以加上这个唯一值,更新的时候根据唯一值进行更新就可以了。
function save(id){
//保存方法
}
这样楼主可明白?
不明白继续问我,
function save(id){
//保存方法
}
//按钮
<a href="javascript:void(0)" onclick="save("+id+")"></a>
将保存button的id动态赋值,值就是遍历出来的id
你可以 去这个博客看看 和你的问题一样 http://blog.csdn.net/qq_36481052/article/details/78704576
谢谢各位提供的思路,我已经解决问题了,像楼上所说,应该用的是选择器获取被选中的那一行的所有来组装href