checkbox全选有关问题

checkbox全选问题
为什么将子checkbox全部勾选上以后全选的checkbox没反应?代码如下:
<script type="text/javascript">
           
  function selectAll(flag){  
     var items = document.getElementsByName("checkbox");  
     if (null != items){  
         for (var i = 0;i<items.length;i++)   {  
            items[i].checked=flag;  
         }  
      }  
   }  
  function changeCheck(){  
     var checkAll = document.getElementByName("checkbox1");  
     var items = document.getElementsByName("checkbox");  
     if (null != items){  
         if (checkAll.checked){  
                for (var i = 0;i<items.length;i++){  
                 if(!items[i].checked){  
                     checkAll.checked= false;  
                }  
             }  
         }else{  
            checkAll.checked = true;  
         }  
       }  
     }  
 </script>

 <table align="center" border="2">
         <tr>
           <th align="center"><input type="checkbox" name="checkbox1"  onclick="selectAll(this.checked)"/>全选</th>
           <%
    for(int i=0;i<list.size();i++){
     ModelDynaBean bean = list.get(i);
     %>
     <tr>
       <td align="center"><input type="checkbox" name="checkbox" value="<%=bean.get("id") %>" onclick="changeCheck()"/><%=(i+1)+(currentPage-1)*3 %></td>
</tr> 
------解决思路----------------------
var checkAll = document.getElementByName("checkbox1");
  
这个代码是错的,没有getElementByName方法,因为name可能重复,所以只有getElementsByName
取出来的是一个dom集合。
所以这里要写成:
var checkAll = document.getElementsByName("checkbox1")[0];
  
------解决思路----------------------
getElementsByName 取到的是一个集合  可以用楼上的写法 也可以给这个checkbox加id
还有楼主js逻辑有错
<th align="center"><input type="checkbox" name="checkbox1" id="checkbox1" onclick="selectAll(this.checked)"/>全选</th>

function changeCheck(){  
     var checkAll = document.getElementById("checkbox1");  
     var items = document.getElementsByName("checkbox");  
 var temp = true;
     if (null != items){  
        for (var i = 0;i<items.length;i++){  
            if(!items[i].checked){  
               temp= false;
break;
             }
         }
checkAll.checked = temp;  
       }  
     }