所以我正在一个管理员可以禁用和启用用户的网页上工作。我这样做当管理员禁用或启用用户时,用户表格行中的文本将相应地改变颜色。但是,我似乎无法改变行的颜色。因此它们都显示为启用的颜色(黑色)。这是我目前的代码;
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是否在错误的地方。有什么建议?如果我遗漏了一些东西,并且不清楚,请告诉我,我会编辑我的帖子。感谢。
答案 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' : '') .'/>'