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判断浏览器是否是IE的比较好的办法
May 08 Javascript
基于jquery实现全屏滚动效果
Nov 26 Javascript
jQuery使用$.ajax提交表单完整实例
Dec 11 Javascript
IE和Firefox之间在JavaScript语法上的差异
Apr 22 Javascript
JavaScript学习笔记整理_setTimeout的应用
Sep 19 Javascript
基于bootstrap的选择框插件icheck
Dec 23 Javascript
用原生js做单页应用
Jan 17 Javascript
详解webpack解惑:require的五种用法
Jun 09 Javascript
原JS实现banner图的常用功能
Jun 12 Javascript
微信、QQ、微博、Safari中使用js唤起App
Jan 24 Javascript
vue动态改变背景图片demo分享
Sep 13 Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 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获取淘宝分类id示例
2014/01/16 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
php array 转json及java 转换 json数据格式操作示例
2019/11/13 PHP
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
Python 学习笔记
2008/12/27 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
Python实现的科学计算器功能示例
2017/08/04 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
python中嵌套函数的实操步骤
2019/02/27 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
mysql有关权限的表都有哪几个
2015/04/22 面试题
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
学生会副主席竞聘书
2014/03/31 职场文书
优质服务活动实施方案
2014/05/02 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python