JavaScript - 选中行,但不检查行中的值

时间:2013-11-27 14:15:00

标签: javascript php checkbox

我编写了一个脚本来连续选择值。当您选择行开头的复选框时,不会选中行中值的复选框(如果用户从此处点击“提交”,它将处理这些值,但这会让用户感到困惑)。 enter image description here

如果取消选中行开头的复选框,则会选中行中值的复选框(如果用户从此处点击“提交”,则无法识别已选择任何内容)。这对用户来说可能非常混乱。 enter image description here

我对JavaScript不太熟悉,但已经走到了尽头。非常感谢任何帮助。

以下是我对该流程的代码:

echo "<td>" . '<input id="chkRowFiles" type="checkbox" name="file[]" onchange="selectRowFiles(this.checked);" />' . "</td>";

function selectRowFiles(c){
        checkboxes = document.getElementsByTagName("input"); 

        for (var i = 0; i < checkboxes.length; i++) {
            var checkbox = checkboxes[i];
            checkbox.onclick = function() {
                var currentRow = this.parentNode.parentNode;
                var secondColumn = currentRow.getElementsByTagName("td")[1];
                document.getElementById('chkEFile' + secondColumn.textContent).checked = c;
                document.getElementById('chkFFile' + secondColumn.textContent).checked = c;
                document.getElementById('chkSFile' + secondColumn.textContent).checked = c;
                document.getElementById('chkTFile' + secondColumn.textContent).checked = c;
            };
        } 
    }

1 个答案:

答案 0 :(得分:0)

通过更改

解决了这个问题

echo "<td>" . '<input id="chkRowFiles" type="checkbox" name="file[]" onchange="selectRowFiles(this.checked);" />' . "</td>";

echo "<td>" . '<input id="chkRowFiles" type="checkbox" name="file[]" onclick="selectRowFiles(this.checked);" />' . "</td>";

并改变

checkbox.onclick = function() {

checkbox.onchange = function() {