用于单选按钮和显示/隐藏div的jQuery或Javascript解决方案

时间:2013-07-24 15:36:00

标签: javascript jquery radio-button show-hide

根据用户对单选按钮的响应,初始查看的内容是show/hide两个divs的简单要求。

参见JsFiddle:http://jsfiddle.net/P75cv/

真正的复杂性如下。

如果任何问题的单选按钮值为2或1,则显示Div one。 如果任何问题的值不是2,1或-1,则显示Div two

但是,我还需要进一步检查以执行以下操作,如果已显示div one并且用户返回并更改其响应,以便没有单选按钮具有值或2或1,则div需要隐藏one并显示div two。同样,如果显示div two,但用户返回并更改其响应,以便任何单选按钮的值为2或1,则需要隐藏div two并且div {{ 1}}显示。

最后,用户可以选择保存并返回页面 - 如果有,我需要显示正确的div(在页面加载时?)。

我可以在jQuery和Javascript中显示和隐藏div的简单部分,但这种复杂程度真的让我头疼 - 有人能提供见解或解决方案吗?

2 个答案:

答案 0 :(得分:0)

我会创建执行显示/隐藏例程的基本功能。然后填充一个包含单选按钮的所有值的数组,检查数组是否包含您要查找的值,然后调用正确的函数。

我会使用JQuery cookie来存储用户保存并返回页面时应显示的div。

答案 1 :(得分:0)

所以,回答我自己的问题 - 我使用了以下代码:

<?php
function checking() {
count = 0;
";
for ($i=1; $i<=10; $i++){
echo"   q".$i." = $('input[name=\"q".$i."\"]:checked').val();
    if(q".$i." == 1 || q".$i." == 2){
            document.getElementById('disagree').style.display = 'block';
            document.getElementById('agree').style.display = 'none';
        count = 1;
    }
    ";

    }

    echo" 

    if (count==0){
        document.getElementById('disagree').style.display = 'none';
        document.getElementById('agree').style.display = 'block';
    }

}
?>

正如您所看到的,我在页面上有10个问题并使用PHP编写脚本并且它可以正常工作。我毫不怀疑有更多有效和优雅的方法来实现同样的目标。