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

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

 一:父窗口,使用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 >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值