是否有任何技术来指示html选择元素是否“被使用”?

时间:2012-09-27 15:05:43

标签: html html-select

想象一下,我有一些带有很多不同过滤器的网络应用程序在页面上搜索结果。

过滤器是可选的,我使用select元素。第一个选项总是意味着,没有使用过滤器,并说“不使用”或“选择xyz”。

我现在正在寻找一种方法,可以快速查看当前使用哪些过滤器,哪些不是,例如,通过改变颜色或背景颜色。

我还没有找到通过CSS做到这一点的方法,也许没有javascript就不可能? 解决方案只需要在最新的Chrome中使用。

1 个答案:

答案 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"); ?>;">