时间:2021-05-25
最近再做报表时候,直接把全部字段都导出了,但这不太灵活。回忆老师讲过的项目做报表如下左右上下移功能灵活控制,所以就尝试下咯。
js代码
function selected(thiz) { var name = thiz.name; if(name=="right") $("select[name='left']").val(""); else $("select[name='right']").val(""); } function Shift(thiz) { var right = $("select[name='right']"); var left = $("select[name='left']"); if(thiz=="left" && right.val() != ""){ lrShift(right,left); }else if(thiz=="right" && left.val() != ""){ lrShift(left,right); } //获取选中的值 } //从dest移动到target function lrShift(dest,target) { var childrens = dest.children(); var args = ""; //alert(dest.val()); var dests = dest.val() for(var x = 0; x < dests.length; x++) { var vaTemp = dests[x]; target.append("<option value='"+vaTemp+"'>"+vaTemp+"</option>");//追加 target.find("option[value='"+vaTemp+"']").attr("selected",true);//给追加获取焦点 for(var y = 0; y <childrens.length;y++ )//删除选中的元素 { if(childrens.get(y).value==vaTemp) $(childrens.get(y)).remove(); } } dest.val(""); } function ShiftValue(address) { var right = $("select[name='right']"); var left = $("select[name='left']"); if(right.val()!=null) shift(right,address); else if(left.val()!=null) shift(left,address); } function shift(obj,address){ //获取选中的值 var objData = obj.val(); var childrens = obj.children(); var strs = ""; for(var x = 0; x < objData.length; x++) { strs+="@"+objData[x]; } //获取要添加位置对象 var temp = null; if(address=="top"){ var number = findSelect(childrens,objData[0]); if((--number) < 0) return; temp = childrens.get(number); } else{ var number = findSelect(childrens,objData[objData.length-1]); if((++number) > childrens.length-1) return; temp = childrens.get(number); } //删除选中的值 var n = 0; var buffer = new Array(childrens.length-objData.length); for(var x = 0; x < childrens.length;x++) { var value = childrens.get(x).value; if(strs.indexOf(value)==-1) buffer[n++] = value; } //添加新排序的值 obj.empty(); if(address=="top") { for(var y = 0; y < buffer.length;y++) { if(buffer[y]==temp.value) { for(var x = 0; x < objData.length ; x++) { obj.append("<option>"+objData[x]+"</option>"); } } obj.append("<option>"+buffer[y]+"</option>"); } }else{ for(var y = 0; y < buffer.length;y++) { obj.append("<option>"+buffer[y]+"</option>"); if(buffer[y]==temp.value) { for(var x = 0; x < objData.length; x++) { obj.append("<option>"+objData[x]+"</option>"); } } } } //选中值 obj.val(objData); } function findSelect(selects,objValue) { var number = -1; for(var x = 0; x < selects.length; x++) { if(objValue==selects.get(x).value) number = x; } return number; }页面调用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言我们交换数组可以实现元素上下移动了,这个效果我们在表格或以前排序算法中都会用到,下面来看一个JavaScript下实现交换数组元素上下移动例子在写项目的时候
提出问题:下文为大家介绍下Jquery实现上下移动和排序,感兴趣的朋友可以了解一下。解决问题代码实现:Inserttitlehere蕙兰建兰寒兰墨兰//上移$(
本文实例为大家分享了js上下左右键盘控制div移动的具体代码,供大家参考,具体内容如下描述:div通过键盘事件上下左右实现div块的移动效果:实现:js:var
JS代码实现自定义热键实现功能:1.自定义上下左右键2.使用自定义热键或者使用键盘上下左右键移动图片效果图:步骤1:HTML代码:使用自定义按键实现图片移动ta
本文实例讲述了jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果。分享给大家供大家参考。具体如下:这里演示基于jquery实现的动画菜单,内含四种效果