jQuery+ajax实现鼠标单击修改内容的思路


Posted in Javascript onJune 29, 2014

现有表格中的一行的代码如下所示:
效果可以看下具体51搜索展示http://www.51bt.cc,结合Xunsearch全文检索技术,可以达到毫秒级的数据搜索

<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 clickajax.php中内容就简单了,这里只做处理做演示用,并没有向服务器提交数据,代码如下:

sleep(1);//延时运行1秒,查看效果用,实际代码中不需要
echo $_POST['listorder'];
Javascript 相关文章推荐
使Ext的Template可以解析二层的json数据的方法
Dec 22 Javascript
Javascript绝句欣赏 一些经典的js代码
Feb 22 Javascript
js实现交换运动效果的方法
Apr 10 Javascript
jquery预加载图片的方法
May 27 Javascript
javascript实现控制div颜色
Jul 07 Javascript
基于js实现二级下拉联动
Dec 17 Javascript
Vue.js devtool插件安装后无法使用的解决办法
Nov 27 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
Jan 31 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
Jun 03 Javascript
vue实现移动端input上传视频、音频
Aug 18 Javascript
vue组件的路由高亮问题解决方法
May 11 Vue.js
原型和原型链 prototype和proto的区别详情
Nov 02 Javascript
html文本框提示效果的示例代码
Jun 28 #Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 #Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
Jun 27 #Javascript
js获取指定日期周数以及星期几的小例子
Jun 27 #Javascript
网页下载文件期间如何防止用户对网页进行其他操作
Jun 27 #Javascript
jQuery+ajax实现鼠标单击修改内容的方法
Jun 27 #Javascript
node.js实现逐行读取文件内容的代码
Jun 27 #Javascript
You might like
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
php去除HTML标签实例
2013/11/06 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python魔法方法-属性访问控制详解
2016/07/25 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Python实现的自定义多线程多进程类示例
2018/03/23 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
浅谈Selenium+Webdriver 常用的元素定位方式
2021/01/13 Python
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
应届生求职推荐信
2013/10/28 职场文书
优秀教师获奖感言
2014/01/31 职场文书
网络工程师专家职业发展路线
2014/02/14 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书