2 つのラジオ ボタンで JQuery を使用して、2 つの異なる div の表示と非表示を切り替えています。また、ページのロード (またはリロード) 時に存在する現在の値を確認し、現在選択されているものに基づいて div の表示/非表示ステータスを設定できるようにしたいと考えています。
つまり、クリックで実行し、クリックではない場合は、現在設定されていることを実行します。私はうまくいくと思われるこのコードを持っています
var type_option = $('input[name=Type]:checked', '#Form').val();
if (type_option == 'A') {
$("#A").show();
$("#B").hide();
} else {
$("#A").hide();
$("#B").show();
}
$(".TypeSelect").click(function() {
type_option = $('input[name=Type]:checked', '#Form').val();
if (type_option == 'A') {
$("#A").show();
$("#B").hide();
} else {
$("#A").hide();
$("#B").show();
}
});
<form>
<input type="radio" name="Type" value="A" class="TypeSelect">
<input type="radio" name="Type" value="B" class="TypeSelect">
<div id="A">A Div</div>
<div id="B">B Div</div>
</form>
しかし、それは正しくないか、少なくとも非常に最適化されているようには見えません。これは使えるかもと思った
var type_option = $('input[name=Type]:checked', '#Form').val();
$(".TypeSelect").click(function() {
type_option = $('input[name=Type]:checked', '#Form').val();
});
if (type_option == 'A') {
$("#A").show();
$("#B").hide();
} else {
$("#A").hide();
$("#B").show();
}
しかし、そうではありませんでした。クリック関数内でこれらの div を設定する必要があると思いますか? これを行うべきより良い方法はありますか、それともチェックを実行して、クリック機能とクリック機能の両方でdivを設定して、必要なことを行う必要がありますか。