1

我有一组单选按钮,如果选中该组中的一个按钮,则会出现 div,如果我取消选中单选按钮,则 div 会消失,

但我没有得到它的工作,如果我选中一个框 div 出现,如果我选中另一个,第一个选中的单选按钮将自动取消选中,第一个出现的 div 将消失,2. div 出现。

我试图让该代码工作。下面是我的 HTML 代码:

<form>
    <label><input type="radio" name="group1" id="gruppe1"/>Gruppen</label>
    <label><input type="radio" name="group1" id="gruppe2"/>Gruppen 2</label> 
</form>

<div class="layergruppe1">
    <label>Value 1:<input type="number" name="group2" id="value1" value="0" /></label>
    <label>Value 2:<input type="number" name="group2" id="value2" value="0" /></label>
    <label>Value 3:<input type="number" name="group2" id="value3" value="0" /></label>
    <label>Value 4:<input type="number" name="group2" id="value4" value="0" /></label>
</div>

<div class="layergruppe2">
    <label>Value 1:<input type="number" name="group3" id="value1" value="0" /></label>
    <label>Value 2:<input type="number" name="group3" id="value2" value="0" /></label>
    <label>Value 3:<input type="number" name="group3" id="value3" value="0" /></label>
</div>

Javascript:

$(document).ready(function(){
    $('.layergruppe1').hide();
    $("#gruppe1").live("click", function(){
        var id = parseInt($(this).val(), 10);
        if($(this).is(":checked")) {
            $('.layergruppe1').show();
        } else {
            $('.layergruppe1').hide();
        }
    });

    $('.layergruppe2').hide();
    $("#gruppe2").live("click", function(){
        var id = parseInt($(this).val(), 10);
        if($(this).is(":checked")) {
            $('.layergruppe2').show();
        } else {
            $('.layergruppe2').hide();
        }
    });
    $('input[type=radio]').click(function(){
        if (this.previous) {
            this.checked = false;
        }
        this.previous = this.checked;
    });
});

JSFiddle:http: //jsfiddle.net/EGMdK/87/

4

3 回答 3

1

http://jsfiddle.net/EGMdK/121/

固定代码,希望有帮助吗?

于 2012-09-16T11:06:54.690 回答
0

我已经压缩了你的代码:

$('.layergruppe1, .layergruppe2').hide();

$('input[name="group1"]').change(
    function(){
        $('div[class^="layergruppe"]').hide();
        $('div.layer' + this.id).show();
    });

JS 小提琴演示

参考:

于 2012-09-16T11:09:49.917 回答
0

http://jsfiddle.net/merakli/gAKYr/

$(document).ready(function(){
$('.layergruppe1').hide();
$('.layergruppe2').hide();
    $('input[type=radio]').change(function(e)
                                  {
        if (this.id == 'gruppe1') {
            $('.layergruppe1').show();
            $('.layergruppe2').hide();
        } else if (this.id == 'gruppe2') {
            $('.layergruppe1').hide();
            $('.layergruppe2').show();
        }  
      });
});

其他例子...

http://jsfiddle.net/merakli/EjJqS/

http://jsfiddle.net/merakli/Gu63y/

http://jsfiddle.net/merakli/ftQ8g/

http://jsfiddle.net/merakli/dW4gD/

http://jsfiddle.net/merakli/7wdp5/

http://jsfiddle.net/merakli/7wdp5/

http://jsfiddle.net/merakli/7wdp5/

于 2012-09-16T11:30:53.010 回答