如果单击默认的单选按钮,则隐藏下拉框

时间:2013-01-18 23:59:49

标签: javascript asp-classic onchange

我发誓我要学习更多JavaScript ......

我有这个页面(实际上是另一个ASP页面中的包含文件,但是我复制了正确的HTML并使其自行加载以用于我的测试目的):

FO Samples

这是他们第一次加载时应该显示的方式。如果他们选择其中一个单选按钮,它应该隐藏2个下拉框。使用这段代码(我在这里从其他人的问题中找到的东西),它的工作。

<script type="text/javascript">
    function ChangeDropdowns(value) {
        if (value == "0") {
            document.getElementById('SAMPLEDROPDOWN').style.display = 'block';
        } 
        else  {
            document.getElementById('SAMPLEDROPDOWN').style.display = 'none';
        }        
    }
</script>

但如果他们回到“我想挑选自己的东西!”,我无法弄清楚如何再次展示它们。无线电。 SAMPGROUP 的值是该样本类别组的数据库中的ID。所以它不一定是数字顺序,它可能会跳过#(如果我们删除一个类别或其他东西)。基本上,它应该显示SAMPGROUP = 0时的下拉菜单,而不是其他任何内容!

我尝试将我的代码更改为此(95为“Autumm”选项的SAMPGROUP值),但它似乎没有什么区别。

<script type="text/javascript">
    function ChangeDropdowns(value) {
        if (value == "0") {
            document.getElementById('SAMPLEDROPDOWN').style.display = 'block';
        } else if (value == "95") {
        document.getElementById('SAMPLEDROPDOWN').style.display = 'none';
    }
    else  {
        document.getElementById('SAMPLEDROPDOWN').style.display = 'none';
    }        
    }
</script>

非常感谢任何帮助!!

马洛!

2 个答案:

答案 0 :(得分:0)

在调用函数ChangeDropdowns时,您可能没有将任何值传递给参数“value”。请确保您传递的值如ChangeDropdowns(0)等。

答案 1 :(得分:0)

您没有在onchange事件中设置“值”,因此它永远不会等于0.尝试更改此内容:

<input type="radio" name="SAMPGROUP" value="0" OnChange="Javascript:ChangeDropdowns()" checked />

<input type="radio" name="SAMPGROUP" value="0" OnChange="Javascript:ChangeDropdowns(0)" checked />

这是fiddle

祝你好运。