懂ajax的朋友请进来看看~~

现在是这么个情况:在jsp页面中有检索数据的功能,在每条数据的后面有一个回复按钮,现在我想做的是,点击这个回复,然后该条记录马上用ajax清除(就是不显示,不是删除这条数据),请问ajax可以实现吗?该怎么做? 在ajax提交的url到action后,返回什么?callback怎么写?

4个回答

楼上已经给出了解决方法,我提几个建议:
1、最好保持js与html分离,不要采用内联的的方式调用js。无论从效率和结构上来说都是有好处的。
2、对于这样同类型的处理,不应该采用每个目标对象设置一个事件监听,这样效率低下,应该采用委托方式,可以采用JQuery里的delegate
3、对于js需要传递额外参数情况。一种常用的方式就是自定义dom属性;如果不想引入自定义属性,可以在利用已有的属性:比如链接的rel属性,所有节点的class属性等。

具体而言,上面的解决办法就是:改变dom结构如下:
[code="java"]

value="回复" id=""/>

//这里不直接使用ID绑定事件处理,ID用来传递参数,下面采用委托事件给div#list来处理按钮的点击事件:

$(function(){ $('#list').delegate( 'td input[type=button]' , 'click' , function(){ var id = $(this).attr('id');//这样就获取到数据的id //其他处理同楼上回答的ajax调用 ... }); });

[/code]

lz 可以用jQuery 处理类似的问题 [code="java"]
js
function ajaxdemo(){
var me = false;
jQuery.ajax({
type: "POST",
url: "webUser!show.action",
data:{"userId":userId},
success: function(msg){
me = msg;
} ,
complete: function() { //callback
if(me=='true'){
jQuery('#div_').html('ok');
}
}
});
}
[/code]
action 处理
[code="java"]
public void show(){
PrintWriter pw = this.getReponse().getWriter();
pw.write("true");
}
[/code]

恩,楼上给的很具体,就是这样做。我无须再补充了。

[code="java"]

onclick="run('')" value="回复"/>
function run(id){
jQuery('#reply_'+id);//这样不就是具体的某个ID的
}

[/code]嗯

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问