2013-06-24 32 views
0
<script type="text/javascript"> 
    function marcarJob(source) 
    { 
     checkboxes=document.getElementsByTagName('input'); 
     for(i=0;i<checkboxes.length;i++) 
     { 
      if(checkboxes[i].type == "checkbox") 
      { 
       checkboxes[i].checked=source.checked; 
      } 
     } 
    } 

    function marcarDeproc(source) 
    { 
     checkboxes=document.getElementsByTagName('input'); 
     for(i=0;i<checkboxes.length;i++) //record all controls 
     { 
      if(checkboxes[i].type == "checkbox") 
      { 
       checkboxes[i].checked=source.checked; 
      } 
     } 
    } 

    function marcarEs(source) 
    { 
     checkboxes=document.getElementsByTagName('input'); 
     for(i=0;i<checkboxes.length;i++) 
     { 
      if(checkboxes[i].type == "checkbox") 
      { 
       checkboxes[i].checked=source.checked; // (mark/unmark all) 
      } 
     } 
    } 
</script> 

就是這樣,當我檢查頂部複選框之一時,將檢查所有複選框。列複選框,按列檢查/取消選中

我需要他們點亮列。如果第一個選中,其他選項也必須選中/取消選中,按列排序,列的第一個複選框類似於「SELECT ALL」,但僅限列。

回答

0

首先要注意的是,您正在使用tagName訪問複選框,它會查找頁面上的所有複選框。

您需要創建具有相同名稱的單柱的複選框如下:

<input type="checkbox" name="column1_checkAll" onclick="javascript: checkUncheckAll('column1', this);"/> 
<input type="checkbox" name="column1_checkbox" id="chk1" /> 
to 
<input type="checkbox" name="column1_checkbox" id="chkn" /> 

,並添加以下JavaScript來檢查/取消單個列的所有複選框。

function checkUncheckAll(columnNo, checkboxObject){ 
    if(checkboxObject){ // Check for null IE 
     var checkStatus = checkboxObject.checked; // CheckAll checked or unchecked status 
     var columnName = columnNo+'_checkbox'; 
     var allCheckboxes = document.getElementsByName(columnName);    

     for(var i= 0; i < allCheckbox.length; i++){ 
      allCheckboxes[i].checked = status; 
     } 
    } 
} 
相關問題