jquery 应用代码 方便的排序功能


Posted in Javascript onFebruary 06, 2010

终极目的:想做一个方便的排序功能。
具体实现:点击后可以输入排序的数字编号,移开后自动更新数据库。

1,我想把这个功能用<span>来完成,也就需要一个在页面上监控指定的span的东西,他就是:
ready(fn)当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
$(document).ready(function(){
// 在这里写你的代码...
});
2,页面上<span>很多,如何才能区分呢?用id?还是class?id太单一,于是用class,因为排序不是针对一条数据,而是多条。
<span class="BY">3</span><br /><BR><span class="BY">2</span><br /><BR><span class="BY">1</span><br /><BR><span class="BY">0</span><br />

3,绑定的事件我想肯定是click
$(document).ready(function(){<BR> $(".BY").click(function() {<BR> alert('测试下先');<BR> });<BR><BR>}); <BR>
4,然后要让span变成一个输入框才行,go

$(document).ready(function(){ 
$(".BY").click(function() { 
var old = $(this).text(); 
var o = $(this); 
o.html("<input class=\"OnBY\" type=\"text\" value=\"" + old + "\"/>"); 
}); 
});

5,这时发现了一个 问题,无法点击的。点了之后数字没了。因此就无法输入更改了。想个什么办法呢?还记得自动获取选择么?
$(document).ready(function(){ 
$(".BY").click(function() { 
var old = $(this).text(); 
var o = $(this); 
o.html("<input class=\"OnBY\" type=\"text\" onMouseOver=\"this.select();\" value=\"" + old + "\"/>"); 
}); 
});

6,很简单的可以更改了。不过当鼠标移开的时候,不能变回去了。郁闷,咋整?
$(document).ready(function(){ 
$(".BY").click(function() { 
var old = $(this).text(); 
var o = $(this); 
o.html("<input class=\"OnBY\" type=\"text\" onMouseOver=\"this.select();\" value=\"" + old + "\"/>"); 
$(".OnBY").blur(function() { 
o.html($(".OnBY").val()); 
}); 
}); 
});

用失去焦点函数,把html代码替换回来就是。换回来的还是修改的值。
7,不过 不能更数据库交涉,接下来就要用到ajax。看看。
$(document).ready(function(){ 
$(".BY").click(function() { 
var old = $(this).text(); 
var o = $(this); 
o.html("<input class=\"OnBY\" type=\"text\" onMouseOver=\"this.select();\" value=\"" + old + "\"/>"); 
$(".OnBY").blur(function() { 
$.ajax({ 
type: "GET", 
url: "Admin_BY.aspx", 
data: "BY=" + $(".OnBY").val(), 
success: function(msg) { 
alert(msg); 
o.html($(".OnBY").val()); 
} 
}); 
}); 
}); 
});

把修改的By参数提交给Admin_BY.aspx处理,后台的处理我就不多说了。用Requst.QueryString来获取。
8,再改进一下,排序肯定要指定一个数据ID

<span class="BY" DbID="3" title="点击修改">3</span><br />
<span class="BY" DbID="2" title="点击修改">2</span><br />
<span class="BY" DbID="1" title="点击修改">1</span><br />
<span class="BY" DbID="0" title="点击修改">0</span><br />

$(document).ready(function(){ 
$(".BY").click(function() { 
var old = $(this).text(); 
var o = $(this); 
o.html("<input class=\"OnBY\" type=\"text\" onMouseOver=\"this.select();\" value=\"" + old + "\"/>"); 
$(".OnBY").blur(function() { 
$.ajax({ 
type: "GET", 
url: "Admin_BY.aspx", 
data: "ID=" + o.attr("BYID") + "&BY=" + $(".OnBY").val(), 
success: function(msg) { 
if (msg.indexOf("[BYNOK]")>0) { 
o.html($(".OnBY").val()); 
} else { 
alert("发生错误: " + msg); 
o.html(old); 
} 
} 
}); 
}); 
}); 
});

还有更多想法,等有空再增加上去。比如修改时,数据处理有个时间,在等待的时间里,改变下鼠标样式为繁忙等。
或更新后,重新装载数据,因为具体数据不同,只能具体应用。也或者直接刷新页面。

初学原创,请各位高手不吝赐教。
Kas

PS:关于ERic Poon 兄弟说何处用到,抓个图参考下吧。
jquery 应用代码 方便的排序功能

Javascript 相关文章推荐
js tab 选项卡
Apr 26 Javascript
JavaScript解析URL参数示例代码
Aug 12 Javascript
JS获取DropDownList的value值与text值的示例代码
Jan 07 Javascript
JavaScript匿名函数用法分析
Feb 13 Javascript
AspNet中使用JQuery boxy插件的确认框
May 20 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
BootStrap导航栏问题记录
Jul 31 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
微信小程序实现顶部选项卡(swiper)
Jun 19 Javascript
VUE基于NUXT的SSR 服务端渲染
Nov 30 Javascript
javascript使用Blob对象实现的下载文件操作示例
Apr 18 Javascript
Nest.js环境变量配置与序列化详解
Feb 21 Javascript
jquery1.4后 jqDrag 拖动 不可用
Feb 06 #Javascript
javascript小数计算出现近似值的解决办法
Feb 06 #Javascript
jquery 插件实现图片延迟加载效果代码
Feb 06 #Javascript
Lazy Load 延迟加载图片的 jQuery 插件
Feb 06 #Javascript
jquery.lazyload  实现图片延迟加载jquery插件
Feb 06 #Javascript
利用jQuery 实现GridView异步排序、分页的代码
Feb 06 #Javascript
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Feb 04 #Javascript
You might like
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
关于JavaScript语句后面的分号问题
2017/12/07 Javascript
[47:20]DAC2018 4.4 淘汰赛 Optic vs Mineski 第一场
2018/04/05 DOTA
Python获取服务器信息的最简单实现方法
2015/03/05 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
人事档案接收函
2014/01/12 职场文书
韩国商务邀请函
2014/01/14 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
初中生评语大全
2014/04/24 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL