一个子窗口向父窗口传值,使父窗口的下拉框选中的例子

本文介绍了一个子窗口向父窗口传递值的例子,通过JavaScript实现父窗口打开子窗口,并在子窗口中设置父窗口下拉菜单的选择项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个子窗口向父窗口传值,使父窗口的下拉框选中的例子,下面是具体的代码。 

 一:父窗口,使用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 />
    
<href="#" onclick="javascript:opener.document.getElementById('ddlTest').selectedIndex = 1">Select the 2nd Value!(SelectedIndex = 1)</a>
    
<br />
    
<br />    
    调用方法实现:
<br />
    
<href="#" onclick="javascript:SetSelectedItem('333');">Select the item that value equals '333'(Value = '333')</a>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值