排序功能实现 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进行多任务下载时,突然遇到要下载一个紧急文件的情况,该如何让这个紧急文件的下载任务排在优先的位置?当然,用户也可以先暂停所有的下载任务,仅开启紧急文件的下载任务. 但这种方式需要用户 ...
随机推荐
- setWillNotDraw和setFillViewport
Romain Guy write a little info about a ScrollView attribute that is missing from documentation : An ...
- vc++上的MFC的对象序列化和反序列化
注意点: 1. 必须类型序列化声明 DECLARE_SERIAL( Person ) 2. 必须写出实现宏 IMPLEMENT_SERIAL(Person, CObject, VERSIO ...
- Activity内部Handler引起内存泄露的原因分析
有时在Activity中使用Handler时会提示一个内存泄漏的警告,代码通常如下: public class MainActivity extends Activity { private Text ...
- 监听视图树 OnGlobalLayoutListener
背景 我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例: 首先我们写一个控件 public class MyImageView extends ImageView ...
- 杀掉linux所有进程的命令
ps -ef|grep 'opt/*/tomcat_ssi'|grep -v "grep"|awk '{print $2}'|xargs kill -9
- 星座物语APP
效果图: 这里的后台管理用的是duducat,大家可以去百度看说明.图片,文字都在duducat后台服务器上,可以自己修改的.(PS:图片这里是随便找的) http://www.duducat.com ...
- linux操作笔记
[fedora可以ping通但是isReachAble返回false的原因] fedora18+ 防火墙设置原因,导致tcp端口不通,返回no route to host错误. 关闭防火墙命令: sy ...
- 基于AFNetworking3.0的网络封装
1.创建名为HTTPMethod(自己随便起名字)的头文件 2.导入AFNetworking头文件(在github上下载最新版): #import "AFNetworking.h" ...
- MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用
列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如下: SELECT * FROM article WHERE uid IN(SELECT ui ...
- IO流(File类
File类 三个构造方法 File(String filename)//模式和应用程序一个目录下 File(String directoryPath,String filename)//文件的绝对路径 ...