更改表行的颜色onload

时间:2014-11-18 16:55:24

标签: javascript php html checkbox

所以我正在一个管理员可以禁用和启用用户的网页上工作。我这样做当管理员禁用或启用用户时,用户表格行中的文本将相应地改变颜色。但是,我似乎无法改变行的颜色。因此它们都显示为启用的颜色(黑色)。这是我目前的代码;

function loadRow(){


    var check_array = document.getElementsByName("checkbox[]");
    var array_size = check_array.length;

    for(var i =0; i < array_size; i++){
        if(check_array[i].checked){
            var rowId = check_array[i].value;
            document.getElementById(rowId).style.color = "#4D4A49"; 
        }
    }

}

我的行都是通过PHP连接到我的数据库填充的,这里是代码;

while($row = mysqli_fetch_array($result)){
    $output .= '<tr id="row'. $row['id'] .'"><td>' . $row['name'] .'</td>
                <td>'. $row['username'] .'</td>
                <td>' . $row['email'] . '</td>
                <td><input name="checkbox[]" type="checkbox" id="checkbox'. $row['id'] .'"  value="' . $row['id'] . '" onchange="disableUser(this.value)" ' . ($row['disable'] == 0 ? 'checked' : '') .'/></td>
                <td><a href="deleteUser.php">Delete</a></td>
                </tr>';
}

然后HTML看起来像这样;

<table border="1">
    <tr><th>Name</th><th>Username</th><th>Email</th><th>Disabled</th><th>Delete</th></tr>
    <?php echo $output; ?>
</table>

我想知道onload是否在错误的地方。有什么建议?如果我遗漏了一些东西,并且不清楚,请告诉我,我会编辑我的帖子。感谢。

1 个答案:

答案 0 :(得分:1)

您使用过:

'<tr id="row'. $row['id'] .'">'

var rowId = check_array[i].value;
document.getElementById(rowId).style.color = "#4D4A49"; 

正在使用设置为的复选框中的value属性:

value="' . $row['id'] . '"

因此要么改变:

document.getElementById('row' + rowId).style.color = "#4D4A49"; 

'<input name="checkbox[]" type="checkbox" id="checkbox'. $row['id'] .'"  value="row' . $row['id'] . '" onchange="disableUser(this.value)" ' . ($row['disable'] == 0 ? 'checked' : '') .'/>'