⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 select.js.vm

📁 一个webwork+spring+ibatis的小例子
💻 VM
字号:
<SCRIPT LANGUAGE="JavaScript">
## fbox - 待选项目列表
## tbox - 选择了的项目列表
function move(fbox,tbox) 
{
	for(var i=0; i<fbox.options.length; i++) 
	{
		if(fbox.options[i].selected && fbox.options[i].value != "")
		{
			## 增加项目列表到tbox
			var no = new Option();
			no.value = fbox.options[i].value
			no.text = fbox.options[i].text
			
			tbox.options[tbox.options.length] = no;			

			## 清空fbox的项目列表,但是如果是单选时不清掉现在的项目
    		fbox.options[i].value = ""
    		fbox.options[i].text = ""					
		}
	}
	BumpUp(fbox);
	SortD(tbox);
}

function moveAll(fbox,tbox) 
{
	for(var i=0; i<fbox.options.length; i++) 
	{
		if(fbox.options[i].value != "")
		{
			## 增加项目列表到右侧
			var no = new Option();
			no.value = fbox.options[i].value
			no.text = fbox.options[i].text
			tbox.options[tbox.options.length] = no;

			## 清空左侧的项目列表
			fbox.options[i].value = ""
			fbox.options[i].text = ""
		}
	}
	BumpUp(fbox);
	SortD(tbox);
}
## 清除空的项目列表
function BumpUp(box) 
{
	for(var i=0; i<box.options.length; i++) 
	{
		if(box.options[i].value == "")
		{
			for(var j=i; j<box.options.length-1; j++) 
			{
				box.options[j].value = box.options[j+1].value
				box.options[j].text = box.options[j+1].text
			}
			var ln = i
			break
		}
	}
	if(ln < box.options.length) 
	{
		box.options.length -= 1;
		BumpUp(box);
	}
}

function SortD(box) 
{
	var temp_opts = new Array()
	var temp = new Object()
	## 调用临时数组
	for(var i=0; i<box.options.length; i++) 
	{
		temp_opts[i] = box.options[i]
	}
	for(var x=0; x<temp_opts.length-1; x++)
	{
		for(var y=(x+1); y<temp_opts.length; y++) 
		{
			if(temp_opts[x].text< temp_opts[y].text)
			{
				temp.text = temp_opts[x].text
				temp.value = temp_opts[x].value
				temp_opts[x].text = temp_opts[y].text
				temp_opts[x].value = temp_opts[y].value
				temp_opts[y].text = temp.text
				temp_opts[y].value = temp.value
			}
		}
	}
	for(var i=0; i<box.options.length; i++)
	{
		box.options[i].value = temp_opts[i].value
		box.options[i].text = temp_opts[i].text
	}

	/*
	##排序
	for(var x=0; x<temp_opts.length-1; x++)
	{
		for(var y=(x+1); y<temp_opts.length; y++) 
		{
			if(temp_opts[x].text > temp_opts[y].text)
			{
				temp.text = temp_opts[x].text
				temp.value = temp_opts[x].value
				temp_opts[x].text = temp_opts[y].text
				temp_opts[x].value = temp_opts[y].value
				temp_opts[y].text = temp.text
				temp_opts[y].value = temp.value
			}
		}
	}
	for(var i=0; i<box.options.length; i++)
	{
		box.options[i].value = temp_opts[i].value
		box.options[i].text = temp_opts[i].text
	}
	*/
}
function moveUp(obj)
{
	with (obj)
	{
		if(selectedIndex==0)
		{
			/*options[length]=new Option(options[0].text,options[0].value)
			options[0]=null
			selectedIndex=length-1
			*/
		}
		else if(selectedIndex>=1) 
		{
			moveG(obj,-1)
		}
	}
}
function moveDown(obj)
{
	with (obj)
	{
		if(selectedIndex==length-1)
		{
			/*
			var otext=options[selectedIndex].text
			var ovalue=options[selectedIndex].value
			for(i=selectedIndex; i>=1; i--)
			{
				options[i].text=options[i-1].text
				options[i].value=options[i-1].value
			}
			options[i].text=otext
			options[i].value=ovalue
			
			selectedIndex=0
			*/
			
		}
		else if(selectedIndex>=0 && selectedIndex<length-1) 
			moveG(obj,+1)
	}
}
function moveG(obj,offset)
{
	with (obj)
	{
		desIndex=selectedIndex+offset
		var otext=options[desIndex].text
		var ovalue=options[desIndex].value
		options[desIndex].text=options[selectedIndex].text
		options[desIndex].value=options[selectedIndex].value
		options[selectedIndex].text=otext
		options[selectedIndex].value=ovalue
		selectedIndex=desIndex
	}
}

function initSource(leftSource,rightTarget){

	leftSource.length=0;
	
	var class_arr_id="$!jsSelect.strSourceIDList";
	var class_arr_val="$!jsSelect.strSourceValList";

	var strIDArr=class_arr_id.split(",");
	var strValArr=class_arr_val.split(",");
	
	for(var i=0;i<strIDArr.length;i++)
	{
		##要判断是不是单选,如果是单选,则source中的值重复不需要去掉
		if(strIDArr[i])
		{		
			if(!checkInListArray(strIDArr[i],rightTarget))
    		{   				
    			myEle = document.createElement("option") ;
    			myEle.value = strIDArr[i] ;
    			myEle.text = strValArr[i];
    			leftSource.add(myEle) ;
    		}	
		}
	}
}

function initTarget(strIDList)
{
	var class_arr_id="$!jsSelect.strTargetIDList";
	var class_arr_val="$!jsSelect.strTargetValList";

	var strIDArr=class_arr_id.split(",");
	var strValArr=class_arr_val.split(",");
	
	var strIDListArr=strIDList.split(",");
	##左边必须是右边的子集
	for(var start_i=0;start_i<=strIDListArr.length;start_i++)
	{
		//if(checkInArray(strIDListArr[start_i],strIDArr))
		{
			##如果值合法
			if(strValArr[start_i])
			{
				//alert(i);
				##不要判断是不是单选
				myEle = document.createElement("option") ;
				myEle.value = strIDArr[start_i];
				myEle.text = strValArr[start_i];
				document.frmSelect.target.add(myEle) ;
			}
		}				
	}	

}

function checkInListArray(id,rightTarget)
{
	var returnVal=false;
	id=id*1;
	
	if(id>0)
	{
		for(i=0;i<rightTarget.length;i++)
		{
			if(id==rightTarget.options[i].value)
			{
				returnVal=true;
				break;
			}
		}
	}
	else
	{
		returnVal=true;
	}
	return returnVal;
}

function checkInArray(id,strArray)
{
	var returnVal=false;
	id=id*1;
	if(id>0)
	{
		for(i=0;i<strArray.length;i++)
		{
			if(id==strArray[i])
			{
				returnVal=true;
				break;
			}
		}
	}
	else
	{
		returnVal=false;
	}
	return returnVal;
}


function selectSubmit(selectName)
{
	var returnHiddenID=',';
	var hiddenName=',';
	
	for(i=0;i<selectName.length;i++)
	{
		returnHiddenID+=selectName.options[i].value+',';
		hiddenName+=selectName.options[i].text+',';
	}
	
	parent.window.returnValue= returnHiddenID+"#"+hiddenName;
	window.close();	
}

function getStrIDList(tbox)
{
	var rtn = "";
	if(tbox.length>0)
	{
		rtn = tbox.options[0].value;
		for(var i=1;i<tbox.length;i++)
		{
			if(tbox.options[i].value>0)
			{
				rtn += ","+tbox.options[i].value;
			}
		}
	}
	return rtn;
}

function onSearch(obj,tbox)
{
	obj.value = getStrIDList(tbox);
	return true;
}
</SCRIPT>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -