排序功能实现 jQuery实现排序 上移 下移
效果

思路,
跟相邻元素,互换sort。
前提是每一个元素都有自己的sort值,不为零。
<tr id="{sh:$vo.id}">
<td>
<span onclick="up(this);" class="glyphicon glyphicon-arrow-up text-danger up" style="cursor: pointer;" title="上移" aria-hidden="true"></span>
<span onclick="down(this);" class="glyphicon glyphicon-arrow-down text-danger down" style="cursor: pointer;" title="下移" aria-hidden="true"></span>
</td>
<td>
<span title="{sh:$vo.user_id}">{sh:$vo.store_name}</span>
</td>
<td class="center"><a href="{sh:$vo.logo}" target="_blank"><img src="{sh:$vo.logo}" width='30px;'></td>
<td class="center">{sh:$vo.category_name}</td>
<td class="center edit">
<a val="{sh:$vo.store_id}" onclick="view(this);" class="view btn btn-success" href="javascript:void(0);" title="查看">
<i class="halflings-icon white zoom-in"></i>
</a>
</td>
</tr>
点击,触发up方法,down方法。
获取当前id。
通过jQuery,获取相邻的元素。
// 上移
function up(obj){
var $tr = $(obj).parents("tr");
if ($tr.index() != 0) {
var current_id = $tr.attr('id');
var exchange_id = $tr.prev("tr").attr('id');
$.ajax({
url: '{sh::U("Mall/ajax","todo=exchange_sort")}',
type: 'POST',
data: 'current_id='+current_id+'&exchange_id='+exchange_id,
success:function(json) {
if (json == 1) {
$tr.fadeOut().fadeIn();
$tr.prev().before($tr);
layer.msg('上移成功', {icon: 1});
} else {
layer.msg('上移失败', {icon: 2});
}
}
});
}
} // 下移
function down(obj) {
var len = $(".down").length;
var $tr = $(obj).parents("tr");
if ($tr.index() != len - 1) {
var current_id = $tr.attr('id');
var exchange_id = $tr.next("tr").attr('id');
$.ajax({
url: '{sh::U("Mall/ajax","todo=exchange_sort")}',
type: 'POST',
data: 'current_id='+current_id+'&exchange_id='+exchange_id,
success:function(json) {
if (json == 1) {
$tr.fadeOut().fadeIn();
$tr.next().after($tr);
layer.msg('下移成功', {icon: 1});
} else {
layer.msg('下移失败', {icon: 2});
}
}
});
}
}
这里用到了几个jQuery方法,prev(),next(),before(),after()。以及效果,fadeOut(),fadeIn()。以及一些简单的逻辑判断和技巧。
php后台处理,
case 'exchange_sort':
$mallShopModel = M('Mall_shop');
$current_id = $this->_post('current_id','trim');
$exchange_id = $this->_post('exchange_id','trim');
$current_sort = $mallShopModel->where(array('id'=>$exchange_id))->getField('sort');
$exchange_sort = $mallShopModel->where(array('id'=>$current_id))->getField('sort'); $cdata['id'] = $current_id;
$cdata['sort'] = $current_sort;
$cres = $mallShopModel->save($cdata);
$edata['id'] = $exchange_id;
$edata['sort'] = $exchange_sort;
$eres = $mallShopModel->save($edata);
if ($cres !== FALSE && $eres !== FALSE){
exit('1');
} else {
exit('2');
}
排序功能实现 jQuery实现排序 上移 下移的更多相关文章
- jquery 行交换 上移 下移
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Yii 2.0排序功能的使用
在Yii2.0项目的实际开发中,经常会遇到使用Yii2.0自带的排序功能.下面是排序功能的具体使用方法. 一.设置排序规则 注意引入Sort类,如:use yii\data\Sort; // 设置排序 ...
- 用Jquery控制元素的上下移动 实现排序功能
在页面上,控制元素上下移动,进行排序是我们比较常用的功能,今天我用jQuery 写个 简单方便,功能齐全的实现方式. 话不多说,直接上代码,下面是基础的引入jq和html元素部分: <scrip ...
- jPList – 实现灵活排序和分页功能的 jQuery 插件
jPList 是一个灵活的 jQuery 插件,可以用于任何 HTML 结构的排序,分页和筛选.它支持的数据源包括:PHP + MySQL,ASP.NET + SQL Server,PHP + SQL ...
- php修改排序,上移下移
php修改排序,上移下移 /** $UpDown //移动方向,up或down $table //表名 $id //当前移动的ID $id_col //ID字段的名称 $ ...
- vue 实现模块上移下移 实现排序
效果图 上移 下移 首先想到的是 数组的相互替换嘛 <template> <div> <div class="box" v-for="(it ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->Web版本模块管理界面新增模块排序功能
模块(菜单)的排序是每个系统都必须要有的功能,我们框架模块的排序在业务逻辑中已经体现. WinForm版本可以直接在界面上对模块进行排序以控制模块展示的顺序.Web版本在3.2版本中也新增了直接可以模 ...
- jQuery实现表格行上移下移和置顶
jQuery实现表格行上移下移和置顶 我们在操作列表数据的时候,需要将数据行排列顺序进行调整,如上移和下移行,将行数据置顶等,这些操作都可以在前端通过点击按钮来完成,并且伴随着简单的动态效果,轻松实现 ...
- 通过Folx的排序功能来设置下载任务的优先级
当我们使用Folx进行多任务下载时,突然遇到要下载一个紧急文件的情况,该如何让这个紧急文件的下载任务排在优先的位置?当然,用户也可以先暂停所有的下载任务,仅开启紧急文件的下载任务. 但这种方式需要用户 ...
随机推荐
- maven + selenium + jenkins 教程收集
maven + selenium + jenkins 教程收集 Complete Guide for Selenium integration with jenkins Maven http://le ...
- Nodejs 上传下载功能的实现(同步)
上传和下载可分为两种,一种是form表单的形式(同步),另一种是Ajax的形式(异步). 示例一(form表单): html代码如下: <!DOCTYPE html> <html&g ...
- java cmd常用命令
熟悉Java的常用命令 面试例题11:使用jar命令. 请使用jar命令,将test文件夹压缩成.jar文件,并简述其压缩包的结构. 考点:对于Java程序员来说,更多情况下是使用集成Java开发工具 ...
- Heritrix的安装与配置 (最新版 已测试通过)
本教程,结合本人亲身实践,不仅适合于最新版本Heritrix 1.14.4,更适合其他任何版本.Heritrix具体下载地址如下: http://sourceforge.net/projec ...
- iOS开发之iPhone通过get和post方式请求asp.net webservice
.创建一个webservice .在webconfig中启用http get 和http post. 复制代码 <</span> webServices > <</ ...
- SHELL网络爬虫实例剖析--转载
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://nolinux.blog.51cto.com/4824967/1552472 前天 ...
- 95秀-dialog 进度对话框 实用工具
工具Util public class DialogUtil { public static ProgressDialogView progressDialog; /** * ...
- JavaScript 浮点数运算 精度问题
JavaScript小数在做四则运算时,精度会丢失,这会在项目中引起诸多不便,先请看下面脚本. //加减 <script type="text/javascript" lan ...
- css中同时用头部引入和外部引入对同一个标签进行样式设置,哪一个优先级高。
这段是html中的代码 <!doctype html> <html lang="en"> <head> <meta charset=&qu ...
- 跨域信息传递postMessage
var sendToParent = function(event, data, listener) { var message = { event: event, data: data, liste ...