如果选中了2个特定复选框,则显示DIV,如果只有一个选中,则显示不同的DIV

时间:2011-06-20 19:23:18

标签: javascript html checkbox show-hide

我想要实现的是一种显示div的方法,如果选中了2个复选框,则显示其他内容,如果只检查一个,否则如果选中3个复选框,则再次显示不同的div。 我正在尝试使用它的工作版本....任何帮助?

看看这个例子: http://jsfiddle.net/downloadtaky/FpF7T/

2 个答案:

答案 0 :(得分:0)

function toggleContent(){
    document.getElementById('divOne').style.display = 
    document.getElementById('divTwo').style.display = 'none';
    if(document.getElementById('firstCheckbox').checked && 
    document.getElementById('secondCheckbox').checked){
            document.getElementById('divOne').style.display = 
            document.getElementById('divTwo').style.display'';
    }
    else if(document.getElementById('firstCheckbox').checked){
        document.getElementById('divOne').style.display = '';
    }
}

这应该让你知道如何做到这一点。尝试使用http://jquery.com/进行简单的隐藏/显示操作,非常简单。

答案 1 :(得分:0)

将标记更改为

<table>
    <tr>
    <td><input type="checkbox" name="opzioni" data-grp="vano1gop1" value="van ass obb 1g op1" class="opzioni" />Opzione 1</td>
    <td><input type="checkbox" name="opzioni" data-grp="vano1gop2,vano1gop3" value="van ass obb 1g op1" class="opzioni" />Opzione 2</td>
    <td><input type="checkbox" name="opzioni" data-grp="vano1gop4" value="van ass obb 1g op1" class="opzioni" />Opzione 3</td>
    </tr>
</table>
<div id="vano1gop1" class="vano1grp">Hai scelto l'opzione 1</div>
<div id="vano1gop2" class="vano1grp">Hai scelto l'opzione 2</div>
<div id="vano1gop3" class="vano1grp">Hai scelto l'opzione 3</div>
<div id="vano1gop4" class="vano1grp">Hai scelto l'opzione 4</div>

然后使用下面的JS

$(function(){
    $('.opzioni').click(function(){
        var checked = $(this).attr("checked");
        var grps = $(this).data("grp").split(",");
        $.each(grps, function(i, value){
            var elem = $("#" + value);
            checked ? elem.show() : elem.hide();
        });
    });
});

Demo