【发布时间】:2015-12-14 15:51:02
【问题描述】:
我有一个表,可以在选择选项时更改表单元的行颜色。但是当我刷新页面时,颜色会变回默认颜色。如何修复表格中突出显示的颜色?
这是我的 php 和 mysql 表的代码:
<?php
while ($record = mysqli_fetch_array($result)) {
echo"<tr>";
echo"<td style='text-align : center;'>" . $record['id'] . "</td>";
echo '<select name="select" onchange="myJSFunction(this)">
<option></option>
<option>Approved</option>
<option>Pending</option>
<option>Disapproved</option>
</select>';
echo "</td>";
echo "</tr>";
}
}
echo "</ul>";
echo '<a class="btn btn-lg btn-success btn-block tp" href="view.php" style="margin-left: 740px; bottom: -1px; position: relative;" onclick="history.back();">Back</a>';
?>
这是我用于突出显示表格单元格行的 jQuery 代码:
<script type="text/javascript">
function myJSFunction(element) {
var color = ['none', 'green', 'yellow', 'red'];
$('select').change(function() {
$(this).parents('tr').css('background', color[$(':selected', this).index()]);
})
}
</script>
【问题讨论】:
-
可以使用浏览器本地存储
-
@tharani 在页面刷新时它将加载为新鲜的,因此您将获得默认颜色。如果您想保留它,请尝试将其存储在选择行的某个位置。您可以使用数据库或会话。
-
@Santhucool,你是什么意思 store in selection 行? ,你能解释一下吗?
-
@tharini 我的意思是在行点击你会得到改变的颜色。您需要在会话中存储的颜色和页面加载首先需要检查会话值并将其加载到单元格中!!