基于jquery实现左右上下移动效果 最近再做报表时候,直接把全部字段都导出了,但这不太灵活。回忆老师讲过的项目做报表如下左右上下移功能灵活控制,所以就尝试下咯。 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("");//追加 target.find("option[value='"+vaTemp+"']").attr("selected",true);//给追加获取焦点 for(var y = 0; y 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(""); } } obj.append(""); } }else{ for(var y = 0; y < buffer.length;y++) { obj.append(""); if(buffer[y]==temp.value) { for(var x = 0; x < objData.length; x++) { obj.append(""); } } } } //选中值 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; } 页面调用
未导出字段
需导出字段
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。