jQuery+ajax实现鼠标单击修改内容的方法


Posted in Javascript onJune 27, 2014

现有表格中的一行的代码如下所示: 

<tr>
 <td><span class="catid">2</span></td>
 <td>公司介绍</td>
 <td>内部栏目</td>
 <td><span class="listorder" title="点击修改">2</span></td>
</tr>

要实现鼠标单击修改内容思路如下:
 
1、点击栏目排序栏目中的数字,获取同一行的第一列中的内容,即栏目id
2、隐藏栏目排序中的数字
3、在栏目排序列中插入input框,并在input框中显示栏目排序中的内容,并设置为焦点
4、修改input中的内容,失去焦点的时候提交数据,用ajax向服务器传递数据 方法为post方法
5、提交数据的时候,友好提示修改中。。。 或者等待图片
6、返回成功信息 ,重新显示修改后的内容 去掉input框

实现这一功能的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 click

ajax.php中内容就简单了,这里只做处理做演示用,并没有向服务器提交数据,代码如下:

sleep(1);//延时运行1秒,查看效果用,实际代码中不需要
echo $_POST['listorder'];
Javascript 相关文章推荐
dojo随手记 gird组件引用
Feb 24 Javascript
js猜数字小游戏的简单实现代码
Jul 02 Javascript
JavaScript中的Primitive对象封装介绍
Dec 31 Javascript
深入理解JavaScript编程中的同步与异步机制
Jun 24 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
用jQuery向div中添加Html文本内容的简单实现
Jul 13 Javascript
jquery动态遍历Json对象的属性和值的方法
Jul 27 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
详解JSONObject和JSONArray区别及基本用法
Oct 25 Javascript
在vue中通过axios异步使用echarts的方法
Jan 13 Javascript
详解React中合并单元格的正确写法
Jan 08 Javascript
通过JS运行机制的角度说说作用域
Mar 12 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 #Javascript
javascript实现的HashMap类代码
Jun 27 #Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
Jun 26 #Javascript
Javascript字符串对象的常用方法简明版
Jun 26 #Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 #Javascript
js实现回放拖拽轨迹从过程上进行分析
Jun 26 #Javascript
JS的事件绑定深入认识
Jun 26 #Javascript
You might like
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
枚举JavaScript对象的函数
2006/12/22 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
实例解析Array和String方法
2016/12/14 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
JQuery获得内容和属性方法解析
2020/05/30 jQuery
python处理json数据中的中文
2014/03/06 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
一些Solaris面试题
2013/03/22 面试题
学生会竞选自荐信
2013/10/12 职场文书
大三学生入党思想汇报
2014/01/02 职场文书
项目建议书范文
2014/05/12 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
导游词之太湖
2019/10/08 职场文书