jquery 批量上下移动
生活随笔
收集整理的這篇文章主要介紹了
jquery 批量上下移动
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
HTML:
<button class="transfer ups">批量上移</button> <button class="transfer downs">批量下移</button>
<tr id="tr_{{ $v["id"] }}" data-id="{{ $v["id"] }}"><td><input type="checkbox" data-key={{$k}} name="sort" value="{{ $v["id"] }}" @if($v['fr_epg_status'] == Dictionary::getDictIdByKey('db.desktop.screen.status.offline')) disabled="true" @else class="onlines" @endif ></td>
</tr>
?
jquery: $(function(){ //默認刷新后設置上次移動的選中值var screenKey = localStorage.getItem("dmsScreen"+id);if(screenKey!=undefined) {screenKey = screenKey.split(",");$.each(screenKey,function(index,value){$("input[name='sort'][value='"+value+"']").attr("checked", true);});} //批量上移下移 //根據下標$(".ups,.downs").click(function () {var data = [];var keyList = [];var arrayList = [];var checkedList = [];var inputChecked = $("input:checkbox[name='sort']:checked");var leng = inputChecked.length;if(leng>0) {var onlines = $(".onlines");var onlinesLength = onlines.length;onlines.each(function (k, v) {arrayList[k] = $(this).val();});//取所選的位置inputChecked.each(function (k, v) {keyList[k] = $(this).attr("data-key");checkedList[k] = $(this).val();});console.log(keyList);var className = $(this).hasClass("ups");if (className) {if ($.inArray("0", keyList) != -1) {alert('不可上移');return false;}inputChecked.each(function (i) {var key = $(this).attr("data-key");var tmp = arrayList[key - 1];data[[key - 1]] = arrayList[key - 1] = arrayList[key];data[key] = arrayList[key] = tmp;});} else {if ($.inArray(String(onlinesLength - 1), keyList) != -1) {alert('不可下移');return false;}for (var i = leng - 1; i >= 0; i--) {var v = keyList[i];var t = v * 1 + 1 * 1;var tmp = arrayList[t];data[t] = arrayList[t] = arrayList[v];data[v] = arrayList[v] = tmp;}}$.post(DMSObj.baseUrl + 'admin/ajax/screensort', {"_token": "{{csrf_token()}}",data: data}, function (result) {if (result.error_code != 0) {alert(result.msg);return;}localStorage.setItem("dmsScreen"+id, checkedList);window.location.href = location.href});} else {alert('請至少選擇一個');}});});// 根據字段sort $(".ups,.downs").click(function () {var data = [];var keyList = [];var arrayList = [];var checkedList = [];var sortArray = [];var inputChecked = $("input:checkbox[name='sort']:checked");var leng = inputChecked.length;if(leng>0) {var onlines = $(".onlines");var onlinesLength = onlines.length;onlines.each(function (k, v) {arrayList[k] = $(this).val();sortArray[$(this).val()] = $(this).attr("data-sort");});//取所選的位置inputChecked.each(function (k, v) {keyList[k] = $(this).attr("data-key");checkedList[k] = $(this).val();});console.log(keyList);var className = $(this).hasClass("ups");if (className) {if ($.inArray("0", keyList) != -1) {alert('不可上移');return false;}inputChecked.each(function (i) {var key = $(this).attr("data-key");var tmp = arrayList[key - 1];var sortTmp = sortArray[arrayList[key - 1]];data[arrayList[key - 1]] = sortArray[arrayList[key - 1]] = sortArray[arrayList[key]];arrayList[key - 1] = arrayList[key];data[arrayList[key]] = sortArray[arrayList[key]] = sortTmp;arrayList[key] = tmp;});} else {if ($.inArray(String(onlinesLength - 1), keyList) != -1) {alert('不可下移');return false;}for (var i = leng - 1; i >= 0; i--) {var v = keyList[i];var t = v * 1 + 1 * 1;var tmp = arrayList[t];var sortTmp = sortArray[arrayList[t]];data[arrayList[t]] = sortArray[arrayList[t]] = sortArray[arrayList[v]];arrayList[t] = arrayList[v];data[arrayList[t]] = sortArray[arrayList[v]] = sortTmp;arrayList[v] = tmp;}}$.post(DMSObj.baseUrl + 'admin/ajax/screensort', {"_token": "{{csrf_token()}}",data: data}, function (result) {if (result.error_code != 0) {alert(result.msg);return;}localStorage.setItem("dmsScreen"+id, checkedList);window.location.href = location.href});} else {alert('請至少選擇一個');}});});總結
以上是生活随笔為你收集整理的jquery 批量上下移动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Thymeleaf 基本用法总结
- 下一篇: 中国建投是什么级别