📄 common.js
字号:
//导出当前单元的所有数据
function exportt(arg){
//var el=event.srcElement;
var el=getEventElement();
var uid = getUnitId(el);
var aid = el.name;
//window.location='/xls?_u='+uid+'&_p=1&_a='+aid;
var orgAction = document.forms[0].action;
var newAction = getContextPath() + '/xls?_u='+uid+'&_p=1&_a='+aid;
if(arg!=null){
newAction = newAction + "&" + arg;
}
document.forms[0].action=newAction;
document.forms[0].submit();
document.forms[0].action = orgAction;
}
//导出当前视图的当前页数据
function exportViewC(arg){
var param;
if(arg==null){
param = '_xls_v=1';
}else{
param = arg + '&' + '_xls_v=1';
}
exportc(param);
}
//导出当前视图的所有页数据
function exportViewT(arg){
var param;
if(arg==null){
param = '_xls_v=1';
}else{
param = arg + '&' + '_xls_v=1';
}
exportt(param);
}
//为无线按钮设置数值
function _setRadio(event){
//var curObj = event.srcElement;
var curObj = getEventElement();
while(curObj.tagName != "SPAN" || curObj.getAttribute("name")!="_r"){
//curObj = curObj.parentElement;
curObj = curObj.parentNode;
}
var checks = curObj.getElementsByTagName("INPUT");
var objValue = "";
for( var ii=0 ; ii < checks.length ; ii++ ) {
if(checks[ii].type=="radio" && checks[ii].checked) objValue=checks[ii].value;
}
for( var ii=0 ; ii < checks.length ; ii++ ) {
if(checks[ii].type=="hidden") checks[ii].value=objValue;
}
}
//为多选框设置数值。
function _setCheckBox(elementName){
//var curObj = event.srcElement;
var curObj = getEventElement();
while(curObj.tagName != "SPAN" || curObj.getAttribute("name")!="_c"){
curObj = curObj.parentNode;
}
var checks = curObj.getElementsByTagName("INPUT");
var objValue = "";
var flag = true;
var hiddenValue = "";
var checkCount = 0;
var hiddenObject;
var defaultValue = "";
for( var ii=0 ; ii < checks.length ; ii++ ) {
if(checks[ii].type=="checkbox" && checks[ii].checked){
if(flag){
objValue=checks[ii].value;
flag=false;
}else{
objValue+=","+checks[ii].value;
}
checkCount++;
}else if(checks[ii].type=="hidden"){
if(checks[ii].name==elementName + "._default"){
defaultValue = checks[ii].value;
}else{
hiddenValue = checks[ii].value;
hiddenObject = checks[ii];
}
}
}
if(checkCount>0){
hiddenObject.value = objValue;
}else{
hiddenObject.value = defaultValue;
}
}
//向下移动
function movedown(uid){
if(uid==undefined){
//var el=event.srcElement;
var el=getEventElement();
uid = getUnitId(el);
}
var rows = getCheckedRow(uid);
rows.reverse();
//var table = getTable(el);
//var table = document.all(uid+"_list");
var table = getAllElements(uid+"_list")[0];
for(var i=0;i<rows.length;i++){
var ret = movedown1(table,rows[i],uid);
if(ret == false){
break;
}
}
order(uid);
}
//向上移动
function moveup(uid){
if(uid==undefined){
//var el=event.srcElement;
var el=getEventElement();
uid = getUnitId(el);
}
var rows = getCheckedRow(uid);
//var table = getTable(el);
//var table = document.all(uid+"_list");
var table = getAllElements(uid+"_list")[0];
for(var i=0;i<rows.length;i++){
var ret = moveup1(table,rows[i],uid);
if(ret == false){
break;
}
}
order(uid);
}
//将指定行向下移动
function movedown1(table,rowid,unitid){
//var rl = table.all(rowid);
var rl = getAllElements(rowid,table);
var step=1;
if(rl.length!=undefined){
step=rl.length;
}
var rows = table.rows;
//var temp=new Array();
for(var i=rows.length-1;i>=0;i--){
var id = rows[i].id;
if(id=="_g_0") continue;
//alert(id+" "+rowid)
if(id==rowid){
var ti = i+step;
if(rows[ti] && rows[ti].id && rows[ti].id!="_g_0" && rows[ti].id.indexOf("_g_")==0 ){
table.moveRow(i,ti);
//if(rows[ti].all(unitid+"._check")!=undefined) rows[ti].all(unitid+"._check").checked=true;
if(getAllElements(unitid+"._check",rows[ti]).length>0) getAllElements(unitid+"._check",rows[ti])[0].checked=true;
}else{
return false;
}
//table.appendChild(rows[i]);
}
}
return true;
}
//将指定行向上移动
function moveup1(table,rowid,unitid){
//var rl = table.all(rowid);
var rl = getAllElements(rowid,table);
var step=1;
if(rl.length!=undefined){
step=rl.length;
}
var rows = table.rows;
//var temp=new Array();
for(var i=0;i<rows.length;i++){
var id = rows[i].id;
if(id=="_g_0") continue;
//alert(id+" "+rowid)
if(id==rowid){
var ti=i-step;
if(rows[ti] && rows[ti].id && rows[ti].id!="_g_0" && rows[ti].id.indexOf("_g_")==0 ){
table.moveRow(i,ti);
//if(rows[ti].all(unitid+"._check")!=undefined) rows[ti].all(unitid+"._check").checked=true;
if(getAllElements(unitid+"._check",rows[ti]).length>0) getAllElements(unitid+"._check",rows[ti])[0].checked=true;
}else{
return false;
}
//table.appendChild(rows[i]);
}
}
return true;
}
//得到被选中的行
function getCheckedRow(unitid){
var arr = new Array();
var head = unitid+"._check";
//var checks = document.all(head);
var checks = getAllElements(head);
//var table = document.all("_u_"+unitid);
var table = getAllElements("_u_"+unitid)[0];
if(!checks) return arr;
/*
if(checks.length == undefined){
//只有一条数据
if(checks.checked){
//var rows = table.all(getRow(checks).id)
//arr = arr.concat(rows);
arr.push(getRow(checks).id);
}
}else{
*/
for(var i=0;i<checks.length;i++){
if(checks[i].checked){
//定位checkbox所在的若干row
//var rows = table.all(getRow(checks[i]).id)
//arr = arr.concat(rows);
arr.push(getRow(checks[i]).id);
}
}
/*
}
*/
return arr;
}
//--------------add for list select element-------------
var ordered = ",";
//已选中选项的排序,根据按下的按钮是向上还是向下决定如何排序
//path为单元编号+分隔符"."
//name为选中字段隐藏值的全名(包括路径名)
function updown(name,isUp){
//var obj = document.all(name + "SelectedOption");
var obj = getAllElements(name + "SelectedOption")[0];
var os = obj.options;
var index = -1;
ordered = ",";
while((index=getValueIndex(obj,isUp))>=0){
orderOption(obj,index,isUp);
}
setOrderField(name);
}
//获得列表中选中值的位置索引
function getValueIndex(obj,isUp){
var os = obj.options;
if(isUp){
for(var i=0;i<os.length;i++){
if(os[i].selected == true && ordered.indexOf(os[i].value)<0){
ordered = ordered+os[i].value+",";
return i;
}
}
}else{
for(var i=(os.length-1);i>=0;i--){
if(os[i].selected == true && ordered.indexOf(os[i].value)<0){
ordered = ordered+os[i].value+",";
return i;
}
}
}
return -1;
}
//根据已选中下拉列表中的字段设置选中隐藏字段的值
function setOrderField(fdName){
//var os = document.all(fdName + "SelectedOption").options
var os = getAllElements(fdName + "SelectedOption")[0].options
var orderList = "";
for(var i=0;i<os.length;i++){
orderList = orderList + os[i].value+",";
}
//document.all(fdName).value = orderList.substring(0,orderList.length-1);
getAllElements(fdName)[0].value = orderList.substring(0,orderList.length-1);
}
//根据下拉列表中选中字段的位置和排序事件(向上或向下)重排列表
function orderOption(obj,one,isUp){
os = obj.options;
var two = one+(isUp?-1:1);
if(isUp){
if(two<0) {
//os[one].selected=false;
return;
}
}else{
if(two>=os.length) {
//os[one].selected=false;
return;
}
}
o1 = os[one].cloneNode(true);
o2 = os[two].cloneNode(true);
//os[one].replaceNode(o2);
//os[two].replaceNode(o1);
obj.replaceChild(o2,os[one]);
obj.replaceChild(o1,os[two]);
os[two].selected = true;
}
//把选定的选项从源列表移动到目标列表
//path为单元编号+分隔符"."
//fromName为源列表名称
//toName为目标列表名称
//fdName为选择列表提交的已选中项隐藏值的名称
function moveItems(fromName,toName,fdName){
//var from = document.all(fromName);
var from = getAllElements(fromName)[0];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -