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>

そのままでは、一番上のチェックボックスの1つをチェックすると、すべてのチェックボックスがチェックされます。

列に点灯する必要があります。最初のチェックボックスがチェックされている場合、他のチェックボックスもチェック/チェック解除する必要があり、列で順序付けられます。列の最初のチェックボックスは「SELECT ALL」に似ていますが、その列に対してのみです。

4

1 に答える 1

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;
        }
    }
}
于 2013-06-29T13:30:05.407 に答える