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 相关文章推荐
javascript中的altKey 和 Event属性大全
Nov 06 Javascript
js编写贪吃蛇的小游戏
Aug 24 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
AngularJS 过滤与排序详解及实例代码
Sep 14 Javascript
基于Vue如何封装分页组件
Dec 16 Javascript
一个例子轻松学会Vue.js
Jan 02 Javascript
原生和jQuery的ajax用法详解
Jan 23 Javascript
微信小程序wx:for循环的实例详解
Oct 07 Javascript
js实现web调用摄像头 js截取视频画面
Apr 21 Javascript
vue 实现强制类型转换 数字类型转为字符串
Nov 07 Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 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
Yii控制器中操作视图js的方法
2016/07/04 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
javascript获取选中的文本的方法代码
2013/10/30 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
详解require.js配置路径的用法和css的引入
2017/09/06 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
Python生成器(Generator)详解
2015/04/13 Python
python3编码问题汇总
2016/09/06 Python
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
Python正则表达式分组概念与用法详解
2017/06/24 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
Python3爬楼梯算法示例
2019/03/04 Python
python跳出双层for循环的解决方法
2019/06/24 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Django使用rest_framework写出API
2020/05/21 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
物流仓储实习自我鉴定
2013/09/25 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
教师个人培训总结
2015/02/11 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL