您的位置:首页 > Web前端 > JavaScript

Javascript: 两个列表框之间移动数据

2007-03-26 00:41 323 查看
JsSelect.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script language= "javascript">

function $(id)
{
return document.getElementById(id);
}

function Test()
{
var result = window.showModalDialog('Options.html',null,'dialogWidth=500px;dialogHeight=400px;status=no');
if(result)
{
var texts = '';
var values = '';

for(var i = 0; i<result.length; i++)
{
texts += result[i].text + ", ";
values += result[i].value + ", ";
}

if(texts.length >0)
{
texts = texts.substr(0,texts.length-2);
}

if(values.length >0)
{
values = values.substr(0,values.length-2);
}

var objText = $('txtTexts')
if(objText) {objText.value = texts; }
var objValue = $('txtValues')
if(objValue){objValue.value = values;}

}
}
</script>
<style type="text/css">
SelectResult{font-size: 9pt; color: #FFFFFF}
</style>
<BODY>
<input type="textbox" id="txtTexts" />
 
<input type="Button" id="btnSelect" value="

" onclick="Test()"/>

<input type="textbox" id="txtValues" />

</BODY>
</HTML>

Options.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">

<script language="Javascript">
function $(id)
{
return document.getElementById(id);
}

function selectSingle()
{
var objFrom = $('selectFrom');
if(objFrom.selectedIndex > -1)
{
var objTo = $('selectTo');
var opt = objFrom.options[objFrom.selectedIndex];
if(!hasSelectedOption(opt))
{
objTo.options[objTo.options.length] = new Option(opt.text, opt.value);
}
}
}

function selectAll()
{
var objFrom = $('selectFrom');
var objTo = $('selectTo');

for(var i = 0; i<objFrom.options.length; i++)
{
var opt = objFrom.options[i];
if(!hasSelectedOption(opt))
{
objTo.options[objTo.options.length] = new Option(opt.text, opt.value);
}
}
}

function hasSelectedOption(opt)
{
var isExist = false;
var objTo = $('selectTo');
for(var j = 0; j<objTo.options.length; j++)
{
if(opt.value == objTo.options[j].value)
{
isExist = true;
break;
}
}
return isExist;
}

function deselectSingle()
{
var objTo = $('selectTo');
if(objTo.selectedIndex > -1)
{
objTo.options[objTo.selectedIndex] = null;
}
}

function deselectAll()
{
var objTo = $('selectTo');
objTo.options.length = 0;
}

function getSelectedOptions()
{
var objTo = $('selectTo');
var arr = new Array();
for(var i= 0; i<objTo.options.length; i++)
{
//arr[i] = [objTo.options[i].text, objTo.options[i].value];
arr[i] = {
'text':objTo.options[i].text,
'value': objTo.options[i].value
};
}
window.returnValue = arr;
window.close();
}
</script>
<style type="text/css">
.btn{
color:#050;
font-family:'trebuchet ms',helvetica,sans-serif;
font-size:small;
font-weight:bold;
width: 25px;
}
</style>
</HEAD>
<BODY>
<table>
<tr>
<td width="45%">
<select multiple id="selectFrom" style="width:200px;height:300px">
<option value="0">Snapping</option>
<option value="1">Neil</option>
<option value="2">Danny</option>
<option value="3">Bollra</option>
<option value="4">Johnson</option>
</select>
</td>
<td width="10%" align="center">
<input type="button" id="btnSelectSingle" value=">" class="btn" onclick="selectSingle()"/><br>
<input type="button" id="btnSelectAll" value=">>" class="btn" onclick="selectAll()"/><br>
<input type="button" id="btnDeselectSingle" value="<" class="btn" onclick="deselectSingle()"/><br>
<input type="button" id="btnUnselectAll" value="<<" class="btn" onclick="deselectAll()"/>
</td>
<td width="45%">
<select multiple id="selectTo" style="width:200px; height:300px">

</select>
</td>

</tr>
<tr>
<td colspan="3" align="right">
<input type="button" id="btnOK" value="OK" onclick="getSelectedOptions()"/>
<input type="button" id="btnCancel" value="Cancel" onclick="javascript: window.close();"/>
</td>
</tr>
</table>

</BODY>
</HTML>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐