ラジオボタンのグループがあり、そのグループの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/