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 相关文章推荐
javascript中的prototype属性使用说明(函数功能扩展)
Aug 16 Javascript
javascript 实现键盘上下左右功能的小例子
Sep 15 Javascript
js sort 二维数组排序的用法小结
Jan 24 Javascript
js操作模态窗口及父子窗口间相互传值示例
Jun 09 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
js仿百度音乐全选操作
Jan 13 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
基于Webpack4和React hooks搭建项目的方法
Feb 05 Javascript
JS匿名函数内部this指向问题详析
May 10 Javascript
微信小程序 轮播图实现原理及优化详解
Sep 29 Javascript
JavaScript实现好看的跟随彩色气泡效果
Feb 06 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
同步文本框内容JS代码实现
2016/08/04 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
Python字符串格式化输出方法分析
2016/04/13 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python 实现引用其他.py文件中的类和类的方法
2018/04/29 Python
Python爬取成语接龙类网站
2018/10/19 Python
flask 实现token机制的示例代码
2019/11/07 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
巴西Mr. Cat在线商店:购买包包和鞋子
2019/09/08 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
如何写一份好的英文求职信
2014/03/19 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
党员个人对照检查材料
2014/10/01 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js
python自动获取微信公众号最新文章的实现代码
2022/07/15 Python