一个子窗口向父窗口传值,使父窗口的下拉框选中的例子,下面是具体的代码。
一:父窗口,使用js打开一个新的窗口,新的窗口将传递一个下拉框的值
<!--Cresting @20080426-->
<html>
<head>

<style type="text/css">...
body

{...}{
font-size: 12px;
}
span

{...}{
color:red;
}
</style>

<script type="text/javascript">...
var newWin; //定义全局变量,表示新打开的窗口
function OpenNewWin()

...{
if(newWin == null) //不存在则打开

...{
newWin = window.open('openWin.htm','newWin','width=400,height=400,menubar=no,location=no,toolsbar=no,status=no');
}
else

...{
if(newWin.closed) //已关闭,打开

...{
newWin = window.open('openWin.htm','newWin','width=400,height=400,menubar=no,location=no,toolsbar=no,status=no');
}
else //否则获得焦点

...{
newWin.focus();
}
}
}
function ddlSelectedChanged()

...{
//当值改变时触发该事件,但和别的一样,用javascript赋值时,并不响应该事件
var showValue = document.getElementById("selectedValue");
var ddlTest = document.getElementById("ddlTest");
if(showValue != null && showValue != "undefined")

...{
showValue.innerHTML = "您选择了:<br>";
showValue.innerHTML += "SelectedIndex:"+ddlTest.selectedIndex+"<br>";
showValue.innerHTML += "SelectedValue:"+ddlTest.options[ddlTest.selectedIndex].value+"<br>";
showValue.innerHTML += "SelectedText :"+ddlTest.options[ddlTest.selectedIndex].text+"<br>";
}
else

...{
alert("Error");
}
}
</script>
</head>
<body>
<select id="ddlTest" onchange="ddlSelectedChanged();" >
<option value="000" selected>===</option>
<option value="111">AAA</option>
<option value="222">BBB</option>
<option value="333">CCC</option>
<option value="444">DDD</option>
</select>
<br />
<br />
<span id="selectedValue"></span>
<br />
<hr />
<br />
<input id="btn" type="button" value="Click Here" onclick="OpenNewWin();"/>
</body>
二:打开的字窗口,子窗口传一个值给父窗口,父窗口中的下拉框根据这个值选中相应
<!--Cresting @20080426-->
<html>
<head>

<script type="text/javascript">...
function SetSelectedItem(val)

...{
var ddlTest = opener.document.getElementById("ddlTest"); //父窗口的下拉框
if(ddlTest != null && ddlTest != "undefined")

...{
var len = ddlTest.options.length;//用于循环下拉框的所有选项,如果选项值等于传入的值的话,选中该项
for(i=0; i < len ; i++)

...{
if(ddlTest.options[i].value == val)

...{
ddlTest.options[i].selected = true;
break;
}
}
}
else

...{
alert("脚本语法错误,请刷新后重试!");
}
}
</script>

<style type="text/css">...
body

{...}{
font-size: 12px;
}
</style>
</head>
<body>
直接写代码:<br />
<a href="#" onclick="javascript:opener.document.getElementById('ddlTest').selectedIndex = 1">Select the 2nd Value!(SelectedIndex = 1)</a>
<br />
<br />
调用方法实现:<br />
<a href="#" onclick="javascript:SetSelectedItem('333');">Select the item that value equals '333'(Value = '333')</a>
</body>