假设父窗口的selected  name为:sel子窗口的单选按钮的name为:rad
在子窗口关闭前给selected 赋值:self.opener.sel.value = document.form1.rad.value;

解决方案 »

  1.   

    我将我做的东东的意思给大家说说,应该是这样的
    我在子窗口中将药品的名称传给了父窗口的文本框中,用于显示,同时也将药品的名称传给了父窗口的selected中,用于再次利用药品的名称从数据库中取出药器的版本号(药品名称可能同时处于多个版本中)
      

  2.   

    是不知道怎么选中select吗?
    直接赋值就可以啊,如:
    <select id="sel1">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    </select>
    <input type="button" value="selected" onclick="selectSel('2')">
    <script language="JavaScript">
    function selectSel(i){
    sel1.value = i;
    }
    </script>
      

  3.   

    parent.htm<HTML> 
    <BODY> 
    <a href="#" onclick="window.open('son.htm')">open</a> 
    <input type=text name=nickname>
    <select name=sel>
    <Option value="灰豆">灰豆
    <Option value="灰豆宝宝.net">灰豆宝宝.net
    <Option value="灰豆大仙.net">灰豆大仙.net
    </select>
    </BODY> 
    </HTML> son.htm<html> 
    <body> 
    <SCRIPT LAnGUAGE="JavaScript"> 
    <!-- 
    function submitit(){ 
    var vvalue="";
    var vnickname=document.all.nickname;
    var parent1=self.opener.document;
    var parentsel=parent1.all.sel.options;
    if(vnickname[0].checked)vvalue=vnickname[0].value;
    if(vnickname[1].checked)vvalue=vnickname[1].value;
    parent1.all.nickname.value=vvalue; 
    //alert(parentsel[0].value);
    //alert(vvalue);
    for(var i=0;i<parentsel.length;i++){
    if(parentsel[i].value==vvalue)parentsel[i].selected=true;
    }

    //--> 
    </SCRIPT> 
    灰豆宝宝.net<input type="radio" name="nickname" value="灰豆宝宝.net"> 
    灰豆大仙.net<input type="radio" name="nickname" value="灰豆大仙.net"> 
    <input type=button onclick="submitit()">
    </body> 
    </html> 
      

  4.   

    我将我的jsp代码贴出来
    recipe.jsp
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page import = "java.io.*" %>
    <%@ page import = "java.util.*" %>
    <%@ page import = "java.sql.*" %>
    <%@ page import = "javax.servlet.*" %>
    <%@ page import = "javax.servlet.http.*"%>
    <html>
    <head>
    <title>药品处方查询条件</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link rel="stylesheet" href="inc/main.CSS" type="text/css">
    <script language="javascript">
      <!--
       function a1()
      {
          Condif1.style.display="";
          Condif2.style.display="none";
      }
       function a2()
      {
          Condif1.style.display="none";
          Condif2.style.display="";
      }  function checkdrugname()
      {
             //alert(event.keyCode);
              if (event.keyCode==13)
              {
                      event.keyCode="#0";
                        var drugbbno=document.form1.drugbbh.value;
                        var drugname1=document.form1.drugname.value;
                        var flag=document.form1.selectedid.value;
                        window.open("returndrugpyno.jsp?drugbbno="+drugbbno+"&drugname1="+drugname1,'register','left=180,top=210,width=400,height=380,status=no,toolbars=no,menubars=no,scrollbars=yes,resize=yes');          }
                      return true;
      }
      function checkdrugname1()
      {
             //alert(event.keyCode);
              if (event.keyCode==13)
              {
                      event.keyCode="#0";
                        var drugname1=document.form1.drugname1.value;
                        window.open("returndrugpyno1.jsp?drugname1="+drugname1,'register','left=180,top=210,width=400,height=380,status=no,toolbars=no,menubars=no,scrollbars=yes,resize=yes');
              }
                      return true;
      }  function kb()
      {
      if(event.keyCode==13)
              event.keyCode="#0";
      }
      //-->
    </script>
    </head>
    <jsp:useBean id="dBbean" scope="page" class="ydw.RecipenameBean" /><body bgcolor="#FFFFFF" text="#000000">
      <% String sql = "select * from drugbb";
    String sDBDriver = "oracle.jdbc.driver.OracleDriver";
            String url = "jdbc:oracle:thin:@168.168.1.127:1521:hbzr";        try {
              Class.forName(sDBDriver);
            }
            catch (java.lang.ClassNotFoundException e) {
              out.println(e.getMessage());
            }      try {
            if (dBbean.Conn()!=1) {
              out.println("数据库链接失败");
            }
           ResultSet rs = dBbean.getDBResultSet(sql);
    %>      </select>
    <form name="form1" method="post" action="recipelist.jsp" target = "leftFrame" onkeydown="kb()">
      <table width="778" border="0" cellspacing="1" cellpadding="3" align="center" background="images/123.gif" >
        <tr>
          <td width="170" height="73">
            <input type="radio"  name="selectedid"  value="1" onclick="a1()" checked>
            按版本
            <input type="radio"  name="selectedid"  value="2" onclick="a2()">
            按药品名称 </td>
             <td >
             <span style="display:"";" id="Condif1">
             版本:
                <select name="drugbbh">
                  <% while (rs.next()) {
                %>
                  <option value = "<%=rs.getInt("drugbbh")%>"><%=rs.getString("drugbbmc")%></option>
                  <% } %>
                  <% rs.close();%>
                </select>          药品名称 :
            <input type="text" name="drugname" size="20" onkeydown="checkdrugname()">
          </span>
             <span style="display:none;" id="Condif2">
              药品名称 :
            <input type="text" name="drugname1" size="20" onkeydown="checkdrugname1()">
             版本:
                <select name="drugbbh1">
                  <%
                   String sql1 = "select * from drugbb";
                   ResultSet rs1 = dBbean.getDBResultSet(sql1);
                   while (rs1.next()) {
                %>
                  <option value = "<%=rs1.getInt("drugbbh")%>"><%=rs1.getString("drugbbmc")%></option>
                  <% } %>
                  <% rs1.close();%>
                </select>      </span>
          </td>
          <td width="146" height="73"> 
            <input type="image" src="images/find1.gif">
             <a href="DefaultNext.jsp" target="_parent"><img src="images/back1.gif" border=0>
            </a> </td>
        </tr>
      </table>
         <input type="hidden" name="flag" value="1">
    </form>
      <%
      }
      catch (Exception e) {
        out.println("Error:"+e);
      }
      %>
    </body>
    </html>returndrugpyno1.jsp
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page import = "java.sql.*"%>
    <%
    //接受传来的值
    String drugnamepono=request.getParameter("drugname1");%>
    <jsp:useBean id="dBbean" scope="page" class="ydw.RecipenameBean" /><html>
    <head>
    <title>
    药品名称
    </title>
    <script language="javascript">
     function check(t){
     opener.document.form1.drugname1.value=t;
     self.close();
     }
    </script>
    </head><jsp:setProperty name="dBbean" property="*" />
    <body bgcolor="#ffffff">
    <form name="form1" method="post" action="">
      <table width="250" border="0" cellspacing="1" cellpadding="3" bordercolor="#6699CC" bgcolor="#6699CC">
        <tr bgcolor="#FFFFFF">
          <td width="20">&nbsp;</td>
          <td width="215">
            <div align="center">药品的名称</div>
          </td>
        </tr>
        <%
        //加载数据库驱动程序
        String sDBriver = "oracle.jdbc.driver.OracleDriver";
        String sql;
       try {
         Class.forName(sDBriver);
       }
       catch (Exception ex) {
         out.println(ex.getMessage());
       }   try {
         if (dBbean.Conn()!=1) {
           out.println("数据库链接失败,请与系统管理员联系");
         }
         else {       sql = "select distinct n.drugid,n.drugtym from drugcfmx c,drugname n where c.drugid=n.drugid";
           sql = sql +" and n.drugpyno like '"+drugnamepono+"%'";       out.println(sql);
           ResultSet rs = dBbean.getDBResultSet(sql);       while (rs.next()) {    %>
        <tr bgcolor="#FFFFFF">
          <td width="20">
            <input type="radio" name="radiobutton" value="<%=rs.getString("drugtym")%>" onclick=check("<%=rs.getString("drugtym")%>")>
          </td>
          <td width="215"><%=rs.getString("drugtym")%></td>
        </tr>
       <%
           }
         }   }
       catch (Exception ex) {
          out.println(ex.getMessage());
       }
       %>
      </table>
    </form>
    </body>
    </html>
    我现在想将returndrugnamepyno1.jsp中的drugname的值传到recipe.jsp中,并在recipe.jsp中的drugbbh1中,显示药品对应的版本号(有可能是多个版本中都有此药品)
      

  5.   

    我有个类似问题,想把子窗口中的多选下拉框的值传给父窗口的多选下拉框.
    父窗口中的多选下拉框名:selectemp
    子窗口中的多选下拉框名:Admins
    addjob是父窗口中的一个表单,该表单包含selectemp下拉框
    main_form是子窗口的一表单,该表单包含Admins下拉框
    在子窗口的关闭按钮的onclick="setValue()"
    <SCRIPT LANGUAGE="JavaScript">
    function setValue(){
         var all=main_form.Admins.options;  //得到子窗口下拉框的长度
         for(i=0;i<all.length;i++) {
    self.opener.addjob.selectemp.options[i].value = document.main_form.Admins.options[i].value; //把子窗口下拉框值传给父窗口的下拉框
    }
    window.close();
    }
    </script>
    程序运行时,在点击子窗口的关闭按钮是出错,错误如下:
    错误:'self.opener.addjob.selectemp.options'为空或不是对象
    代码:0
    我不知道错在那,请大家帮忙!很急!!!
    谢谢!
      

  6.   

    没人顶,自己来下!
    问题解决那,原来父窗口的下拉框没有<option>
    把函数写在父窗口中,如下:
    <SCRIPT LANGUAGE="JavaScript">
    function setValue(na){
    var s_all = na.Admins.options;
    var s_value = null;
    var s_text = null;
    for(i=0;i<s_all.length;i++) {
    s_value = na.Admins.options[i].value;
    s_text = na.Admins.options[i].text;
    //opener.document.forms[0].treat_emp.options[i].text = document.main_form.Admins.options[i].value;
    document.addjob.treat_emp.options[i]=new Option(s_text,s_value);
    }
    }
    </script>
    就行了!