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 版本]
Mar 20 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
Nov 23 Javascript
js浮点数精确计算(加、减、乘、除)
Dec 26 Javascript
JSON格式化输出
Nov 10 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
Nov 13 Javascript
angular实现商品筛选功能
Feb 01 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
webpack构建react多页面应用详解
Sep 15 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
微信小程序动态添加view组件的实例代码
May 23 Javascript
微信小程序官方动态自定义底部tabBar的例子
Sep 04 Javascript
mpvue实现左侧导航与右侧内容的联动
Oct 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
用PHP连接Oracle数据库
2006/10/09 PHP
PHP4 与 MySQL 交互使用
2006/10/09 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
php 中的closure用法详解
2017/06/12 PHP
在Laravel中使用MongoDB的方法示例
2019/11/11 PHP
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
JS中的==运算: [''] == false —&gt;true
2016/07/24 Javascript
微信小程序 页面跳转如何实现传值
2017/04/05 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
Python 除法小技巧
2008/09/06 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
解读python如何实现决策树算法
2018/10/11 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
Python 高效编程技巧分享
2020/09/10 Python
python实现邮件循环自动发件功能
2020/09/11 Python
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
西班牙网上书店:Casa del Libro
2016/11/01 全球购物
TUMI新加坡官网:国际领先的商旅箱包品牌
2019/01/12 全球购物
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
四年的大学生生活自我评价
2013/12/09 职场文书
我未来的职业规划范文
2014/01/11 职场文书
决定成败的关键——创业计划书
2014/01/24 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
经理岗位职责
2015/02/02 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
高三语文教学反思
2016/02/16 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书