📄 selectlist.js
字号:
//Always on top
//window.onblur = self.focus;
// List page size (num of listing record)
var pageSize=1000;
// Checkbox select all flag
var selectFlag = true;
var thisForm = "document.appForm";
var findFieldArray = new Array();
var parentDocument = window.dialogArguments;
// config the form name & other values
function setForm(thisForm, fieldArray)
{
this.thisForm = thisForm;
for (i=0;i<fieldArray.length;i++)
{
this.findFieldArray[i] = fieldArray[i];
}
}
function selectValue(isMulti){
if(isMulti=="true"){
selectMulti();
}else{
selectThis();
}
}
var thisFieldArray = new Array();
function getParentFieldArray(){
var fieldArr = parentDocument.parentWindow.getFieldArray();
var parentFieldArr = new Array();
if(fieldArr!=null){
for (i=0;i<fieldArr.length;i++)
{
var field = fieldArr[i];
if(field.indexOf(":")!=-1){
parentFieldArr[i] = field.substring(0,field.indexOf(":"));
this.thisFieldArray[i] = field.substring(field.indexOf(":")+1);
}else{
parentFieldArr[i] = field;
this.thisFieldArray[i] = field;
}
}
}
return parentFieldArr;
}
// Use only in Popup selection listing window
function selectThis()
{
findFlag = false;
parentFieldArray = getParentFieldArray();
// check the radio button available
if (eval(thisForm+"."+findFieldArray[0]))
{
// when only one radio button
if (eval(thisForm+"."+findFieldArray[0]+".checked==true")) {
for (j=0; j<parentFieldArray.length; j++){
try{
setValue(parentFieldArray[j],eval(thisForm+"."+thisFieldArray[j]+".value"));
}catch(e){parentDocument.parentWindow.status = e;}
}
window.returnValue = getSelectObject(0);
CloseThis();
return;
}
// when more than one radio button
for (i=0; i<pageSize; i++) {
if (eval(thisForm+"."+findFieldArray[0]+"[i]"))
{
if (eval(thisForm+"."+findFieldArray[0]+"[i].checked==true")) {
for (j=0; j<parentFieldArray.length; j++){
try{
setValue(parentFieldArray[j],eval(thisForm+"."+thisFieldArray[j]+"[i].value"));
}catch(e){parentDocument.parentWindow.status = e;}
}
findFlag = true;
break;
}
}
else
break;
}
}
if (findFlag){
window.returnValue = getSelectObject(i);
CloseThis();
}
else
alert ("请选择其中一项!");
}
// select multi-value from checkbox to it's opener select input
function selectMulti()
{
parentFieldArray = getParentFieldArray();
var objs = new Array();
if (eval(thisForm+"."+findFieldArray[0]))
{
// when only one checkbox
if (eval(thisForm+"."+findFieldArray[0]+".checked==true")) {
objs = new Array(getSelectObject(0));
window.returnValue = objs;
CloseThis();
return;
}
// when more than one checkbox
var j = 0;
for (i=0; i<pageSize; i++) {
if (eval(thisForm+"."+findFieldArray[0]+"[i]"))
{
if (eval(thisForm+"."+findFieldArray[0]+"[i].checked==true")) {
objs[objs.length++] = getSelectObject(i);
}
}
}
}
window.returnValue = objs;
CloseThis();
}
//select组件的内容全选
function selectAll(){
parentFieldArray = window.opener.getFieldArray();
var obj = eval("window.opener.document."+parentFieldArray[0]);
var i = 0;
while(i<obj.options.length){
obj.options[i++].selected=true;
}
}
// close the window
function CloseThis()
{
window.close();
}
function getSelectObject(i){
return getAllObject()[i];
}
function setValue(field,value){
var obj = parentDocument.getElementById(field);
if(obj.tagName=="INPUT"){
if(obj.type=="text"){
obj.value = value;
}
if(obj.type=="radio"){
var objs = parentDocument.getElementsByName(field);
for(var i=0;i<objs.length;i++){
if(objs[i].value==value){
objs[i].checked = true;
}
}
}
}
if(obj.tagName=="TEXTAREA"){
obj.value = value;
}
if(obj.tagName=="SELECT"){
var options = obj.options;
var len = options.length;
for(var i=0;i<len;i++){
if(options[i].value==value){
options[i].selected = true;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -