jQuery基于排序功能實現(xiàn)上移、下移的方法
本文實例講述了jQuery基于排序功能實現(xiàn)上移、下移的方法。分享給大家供大家參考,具體如下:
效果
思路,
跟相鄰元素,互換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>
點擊,觸發(fā)up方法,down方法。
獲取當(dāng)前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'); }
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery排序技巧總結(jié)》、《jQuery操作DOM節(jié)點方法總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jquery中Ajax用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
- jQuery表格行上移下移和置頂?shù)膶崿F(xiàn)方法
- jQuery實現(xiàn)表格行上移下移和置頂?shù)姆椒?/a>
- JQuery實現(xiàn)Table的tr上移下移功能
- JS與jQuery實現(xiàn)ListBox上移,下移,左移,右移操作功能示例
- JQuery實現(xiàn)table中tr上移下移的示例(超簡單)
- jQuery Easyui datagrid行內(nèi)實現(xiàn)【添加】、【編輯】、【上移】、【下移】
- jQuery Easyui Datagrid實現(xiàn)單行的上移下移及保存移動的結(jié)果
- jquery實現(xiàn)標(biāo)簽上移、下移、置頂
- JQuery實現(xiàn)表格數(shù)據(jù)行上移與下移
相關(guān)文章
詳解Bootstrap的iCheck插件checkbox和radio
這篇文章主要詳細(xì)介紹了Bootstrap的iCheck插件checkbox和radio的知識及bootstrap icheck獲取radio的value值的方法,非常不錯,具有參考借鑒價值,感興趣的朋友一起看下吧2016-08-08jQuery+HTML5實現(xiàn)圖片上傳前預(yù)覽效果
這篇文章主要介紹了jQuery+HTML5實現(xiàn)圖片上傳前預(yù)覽效果,涉及jquery操作圖片動態(tài)顯示效果,非常簡單實用,需要的朋友可以參考下2015-08-08jQuery時間驗證和轉(zhuǎn)換為標(biāo)準(zhǔn)格式的時間格式
本篇文章主要介紹了jQuery時間驗證和轉(zhuǎn)換為標(biāo)準(zhǔn)格式的時間示例代碼,具有一定的參考價值,有興趣的可以了解一下。2017-03-03jquery單選框radio綁定click事件實現(xiàn)方法
這篇文章主要介紹了jquery單選框radio綁定click事件實現(xiàn)方法,可實現(xiàn)針對單選框radio值的改變作出響應(yīng),非常具有實用價值,需要的朋友可以參考下2015-01-01jQuery EasyUI API 中文文檔 - Tabs標(biāo)簽頁/選項卡
jQuery EasyUI API 中文文檔 - 標(biāo)簽頁/選項卡(Tabs),學(xué)習(xí)jQuery EasyUI的朋友可以參考下。2011-10-10