手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jQuery基于排序功能实现上移、下移的方法
jQuery基于排序功能实现上移、下移的方法
摘要:本文实例讲述了jQuery基于排序功能实现上移、下移的方法。分享给大家供大家参考,具体如下:效果思路,跟相邻元素,互换sort。前提是每一个...

本文实例讲述了jQuery基于排序功能实现上移、下移的方法。分享给大家供大家参考,具体如下:

效果

jQuery基于排序功能实现上移、下移的方法1

思路,

跟相邻元素,互换sort。

前提是每一个元素都有自己的sort值,不为零。

<tr id="{sh:$vo.id}"> <td> <span title="上移" aria-hidden="true"></span> <span title="下移" aria-hidden="true"></span> </td> <td> <span title="{sh:$vo.user_id}">{sh:$vo.store_name}</span> </td> <td><a href="{sh:$vo.logo}" target="_blank"><img src="{sh:$vo.logo}" width='30px;'></td> <td>{sh:$vo.category_name}</td> <td> <a val="{sh:$vo.store_id}" href="javascript:void(0);" title="查看"> <i></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基于排序功能实现上移、下移的方法】相关文章:

jQuery获取页面元素绝对与相对位置的方法

jQuery实现dialog设置focus焦点的方法

js控制div弹出层实现方法

jQuery插件实现适用于移动端的地址选择器

jquery实现图片左右切换的方法

jQuery判断一个元素是否可见的方法

jQuery实现表格行上下移动和置顶效果

jquery预加载图片的方法

JavaScript基于setTimeout实现计数的方法

jQuery实现自动滚动到页面顶端的方法

精品推荐
分类导航