function choose(){
  var chk = document.getElementByNames("chb");
  var count = 0;  for(var i=0; i<chk.length; i++){
    if(chk.checked){
      document.getElementById("b1").innerHTML=" <input type=\"submit\" name=\"bb1\">";
      count++;
    }
  }  if(count == 0){
    document.getElementById("b1").innerHTML="";
  }
}

解决方案 »

  1.   

    在你的循环中增加递增量n,控件名称对应为chb_<%=n%>
      

  2.   

    你为什么不在for循环内处理一下,为生成的多个checkbox分别命名呢?利用循环变量即可
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
        <script language="JavaScript"> 
    function choose(){ 
    var name=document.getElementsByName("chb");
    for(var i=0;i<name.length;i++)
    {
        if(name[i].checked)
    {
       document.getElementById("b1").innerHTML=" <input type=\"submit\" name=\"bb1\">"; 
           break;
    }
    else
    {
           if(i+1==name.length)
       {
              document.getElementById("b1").innerHTML="";
       }
    }
    }
    }
    </script> 
     </HEAD> <BODY>
    <form>
    <input type="checkbox" name="chb" value="checkbox" onclick="javascript:choose()"> 
    <input type="checkbox" name="chb" value="checkbox" onclick="javascript:choose()"> 
    <input type="checkbox" name="chb" value="checkbox" onclick="javascript:choose()"> 
    <span id="b1"> </span>
    </form>
     </BODY>
    </HTML>