jQuery+ajax实现鼠标单击修改内容的思路 |
|
本文标签:ajax,鼠标单击,修改内容 现有表格中的一行的代码如下所示: <tr> <td><span class="catid">2</span></td> <td>公司介绍</td> <td>内部栏目</td> <td><span class="listorder" title="点击修改">2</span></td> </tr> 要实现鼠标单击修改内容思路如下: 实现这一功能的jquery核心代码如下:
$(.listorder).click(function(e){
var catid = $(this).parent().siblings("td:eq(0)").text();//获取同一行上 第一列中的id值
var listorder_now_text = $(this).text();//获取listorder中的内容 先保存起来
$(this).text("");//设置内容为空
var list_form = <input type="text" value="+listorder_now_text+" size=2 class="listorder_input" /> ;
$(this).parent().append(list_form); //插入 input框
$(".listorder_input").focus();
//自定义一个div 提示修改中
var loading = <div id="loading"><img src="img/loading.gif" alt="修改中..."/></div>;
$(this).parent().append(loading);
$(#loading)
.css({
"color" : "red" ,
"display" : "none"
})
//定义ajax的全局事件
$(this).ajaxStart(function(){
$(#loading).show();
})
$(this).ajaxStop(function(){
$(#loading).remove();
})
$(".listorder_input").blur(function(){
var thislist = $(this).siblings(); //取得同级的标签 即 修改后需要显示的 listorder
$.post("ajax.php",{
action : "mod_listorder",
catid : catid ,
listorder : $(this).attr("value")
} , function(data, textStatus){
$(thislist).text(data);
}
);//end .post
$(this).remove();
})//end function blur
})// end
function clickajax.php中内容就简单了,这里只做处理做演示用,并没有向服务器提交数据,代码如下: sleep(1);//延时运行1秒,查看效果用,实际代码中不需要 echo $_POST[listorder]; |