想象一下,我有一些带有很多不同过滤器的网络应用程序在页面上搜索结果。
过滤器是可选的,我使用select元素。第一个选项总是意味着,没有使用过滤器,并说“不使用”或“选择xyz”。
我现在正在寻找一种方法,可以快速查看当前使用哪些过滤器,哪些不是,例如,通过改变颜色或背景颜色。
我还没有找到通过CSS做到这一点的方法,也许没有javascript就不可能? 解决方案只需要在最新的Chrome中使用。
答案 0 :(得分:0)
如果您希望用户更改选择后立即更改下拉列表的颜色(无需重新加载页面),则必须使用JavaScript。类似的东西:
<script type="text/Javascript">
function changeColor(element)
{
if (element.selectedIndex != 0)
element.style.backgroundColor = "green";
else
element.style.backgroundColor = "red";
}
</script>
<select onchange="changeColor(this)">
这就是用户更改选择后如何更改颜色。
要在页面重新加载时更改它,您必须使用一些服务器端脚本语言(我假设您已经在使用它)。因此,在创建<select>
元素时,您将检查其值是否已设置。如果你使用PHP,它可能看起来像这样:
<select name="mySelect" style="background-color:<?php echo ($_POST["mySelect"] == "select xyz" ? "red" : "green"); ?>;">