在加载时更改表行的颜色

Changing a Table Row's colour onload

本文关键字:颜色 加载      更新时间:2023-09-26

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

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>

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

您使用了:

'<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' : '') .'/>'