我想使用Java Script基于循环更改gridview1行的颜色。
但是当我单击“上传”按钮时,循环运行时没有任何颜色变化。
不知道我错过了什么。
Protected Sub btnUpload_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpload.Click
With GridView1
For i = 1 To .Rows.Count - 1
btnUpload.Attributes.Add("onClick", "ChangeColor('" + "GridView1','" + (i).ToString() + "')")
Next
End With
End Sub
<script type="text/javascript">
function ChangeColor(GridViewId, SelectedRowId) {
var GridViewControl = document.getElementById(GridViewId);
if (GridViewControl != null) {
var GridViewRows = GridViewControl.rows;
if (GridViewRows != null)
{
var SelectedRow = GridViewRows[SelectedRowId];
//Remove Selected Row color if any
for (var i = 1; i < GridViewRows.length; i++) {
var row = GridViewRows[i];
if (row == SelectedRow) {
//Apply Yellow color to selected Row
row.style.backgroundColor = "#ffffda";
}
else {
//Apply White color to rest of rows
row.style.backgroundColor = "#ffffff";
}
}
}
}
}
</script>
您可以使用以下代码。无需在OnRowDataBound事件中附加OnClick。这假设上传按钮是Button,而不是LinkButton。但您可以轻松修改脚本。
<script type="text/javascript">
$(document).ready(function () {
$('#<%= GridView1.ClientID %> input[type="submit"]').click(function () {
$(this).closest('tr').css('background-color', '#00ff00');
});
});
</script>