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 相关文章推荐
不同的jQuery API来处理不同的浏览器事件
Dec 09 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
Aug 05 Javascript
详解jQuery选择器
Dec 21 Javascript
JavaScript中Math对象的方法介绍
Jan 05 Javascript
jquery ajaxfileupload异步上传插件使用详解
Feb 08 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
Jun 30 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
Aug 29 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
详解在网页上通过JS实现文本的语音朗读
Mar 28 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
Sep 28 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
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
pandas的resample重采样的使用
2020/04/24 Python
Python定时任务框架APScheduler原理及常用代码
2020/10/05 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
安全标准化汇报材料
2014/02/03 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
离婚案件答辩状
2015/05/22 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
感恩主题班会教案
2015/08/12 职场文书
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
详解Python为什么不用设计模式
2021/06/24 Python
美元符号 $
2022/02/17 杂记
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技