function setValue(){ 
   for(j=0;j<<%=rs.recordcount%>;j++){    var sonValue = '';          for(i=0;i<document.form1.<%=aa%>.length;i++)
    {
        if(document.form1.<%=aa%>[i].checked)
        {
            sonValue += document.form1.<%=aa%>[i].value+',';
            //alert("您选择的是:"+document.form1.txtSon[i].value);
        }
    }
    
    
}    
  
  //向父类文本框赋值 
  parent.document.form1.txtFather.value=sonValue.substring(0,sonValue.length-1); 

解决方案 »

  1.   

    谢谢mumu_java。我刚用你的js试了下,还是有问题:只有选择最后一组的单选按钮值才能传过来,其他组选了没反应。
      

  2.   


    “aa”是由程序生产的,获取的是每个单选按钮的name值,aa=rs("confine")。例如:第一组单选按钮,<input type="radio" name="容量" value="" />。每个按钮的name值都是“容量”,这个“容量”就是程序生产的。
      

  3.   

    会不会是“aa”的问题?前面程序里aa=rs("confine")和js中document.form1. <%=aa%>会不会不同步呢?
      

  4.   

    最怕的就是数组了!尤其还把asp和JavaScript都涉及到了。给做个例子吧。
      

  5.   

    我把程序和JavaScript改进了一下,让单选按钮的name值和程序无关,这样就解决了前面的“aa”问题。现在是,如果运行下面的程序,会分两次弹出对话框,分别提示我选择的两组单选按钮的值,但为什么我用“document.write (sonValue)”输出的时候,就只能输出第一组选中的值呢?请大家帮忙看看那不对。现在可以肯定是几组单选按钮的值都可以取到,但只是输出有问题。代码如下:
    <script type="text/javascript"> 
    //此方法用于向其父文本框类赋值 
    function setValue(){ 
       
    var RadioGroupName;
    var t;
    var flag; 
    for(j=0;j<<%=rs.recordcount%>;j++){
    t="t"+j;
    RadioGroupName=document.getElementsByName(t)
       for(var i=0;i<RadioGroupName.length;i++)
        {
            if(RadioGroupName[i].checked)
            {
                var sonValue=RadioGroupName[i].value;
    //document.write (sonValue)
    alert("您选择的是:"+sonValue);
            }
        }


    }
      
      //向父类文本框赋值 
      //parent.document.form1.txtFather.value=sonValue; 

    </script>
      

  6.   

    文档加载完成后,你再用document.write 会把当前文档清空,所以输出后,JS代码也没了,就不会执行下去了
    <script type="text/javascript"> 
    //此方法用于向其父文本框类赋值 
    function setValue(){ 
       
    var RadioGroupName;
    var t;
    var flag;
    var result = [];
     
    for(j=0;j<<%=rs.recordcount%>;j++){

    t="t"+j;
    RadioGroupName=document.getElementsByName(t)
    for(var i=0;i<RadioGroupName.length;i++)
    {
    if(RadioGroupName[i].checked)
    {
    result.push(RadioGroupName[i].value);

    }
    }


    }  
    var sonValue = result.join(",");
    document.write (sonValue)
    alert("您选择的是:"+sonValue);  
    //向父类文本框赋值 
    //parent.document.form1.txtFather.value=sonValue; 

    </script>
      

  7.   

    明白了,谢谢Free_Wind22指点。
      

  8.   

    Free_Wind22,在麻烦问一下,如果我把单选按钮换成复选框的话,这样取回来的值都是用“,”分开的,怎么能把不同组的值区分开呢?比如说第一组的值为1,2,3;第二组的值为4,5,我想让程序输出这样的结果1,2,3;4,5。这样就可以把不同组的值取出来了,请问怎么实现?