いくつかのラジオボタンといくつかのドロップダウンメニューがありますが、どのラジオボタンが選択されているかによって表示/非表示になりますが、私の最初の3つのラジオボタンはJSコードを直接有効にしません!Javascript load directly
https://jsfiddle.net/spfrh9h8/
Imが言おうと何のビジュアルを取得するには、このバイオリンをチェックしてください。 「プライマリ」ラジオが選択されている間は、プルダウンしなくてもドロップダウンは表示されませんが、選択されてページがリロードされると(まだ選択されています)、ドロップダウンが再び表示されます't。私はこれが簡単な修正だと確信していますが、私はそれを理解できませんでした。
$(function() {
$("input[type='radio']").change(function() {
if ($(this).val() == 1 && this.checked) {
$("#exerVariNameS").show();
$("#exerVariNameB").hide();
$("#exerVariNameD").hide();
$("#exerVariNameA").hide();
} else if ($(this).val() == 2 && this.checked){
$("#exerVariNameS").hide();
$("#exerVariNameB").show();
$("#exerVariNameD").hide();
$("#exerVariNameA").hide();
} else if ($(this).val() == 3 && this.checked) {
$("#exerVariNameS").hide();
$("#exerVariNameB").hide();
$("#exerVariNameD").show();
$("#exerVariNameA").hide();
}
});
$("input[name='Type']").click(function(){
var value=$(this).val();
switch(value){
case '4':
$("input[name='Exercise']").each(function(){
$(this).closest('div').show();
});
$('#dropdown').hide();
$('#exerVariNameA').hide();
break;
case '5':
$("input[name='Exercise']").each(function(){
$(this).closest('div').show();
});
$('#dropdown').show();
$('#exerVariNameA').hide();
break;
case '6':
$("input[name='Exercise']").each(function(){
$(this).closest('div').hide();
});
$('#dropdown').hide();
$('#exerVariNameA').show();
break;
}
});
//Remember which radiobutton was last clicked and keeps it that way
//after a page refresh or form post.
$('input[type=radio]').each(function() {
var state = JSON.parse(localStorage.getItem('radio_' + this.id));
if (state) this.checked = state.checked;
$(this).trigger('change');
});
$("input[name='Type']").each(function(){
var state=JSON.parse(localStorage.getItem('radio_val'+this.value));
if(state) this.checked=state.checked;
$(this).trigger('change');
});
$(window).bind('unload', function() {
$('input[type=radio]').each(function() {
localStorage.setItem('radio_' + this.id, JSON.stringify({checked: this.checked}));
});
$("input[name='Type']").each(function(){
localStorage.setItem('radio_val'+this.value,JSON.stringify({checked:this.checked}));
});
});
});
ページが '$(document).ready(function(){$( 'input [type = radio]:first-child')を読み込むと、最初のラジオのクリックを引き起こす可能性があります。 );}); '。 –
これはうまくいきましたが、「Primary」がクリックされたときに消えるドロップダウンは、「Secondary」をクリックしても消えてはならず、localstorage経由でクリックされたものを覚えているので、 'Secondary'リロードすると、ボックスは表示されますが、リロード後にプライマリがトリガーされるため、ボックスは非表示になります。しかし、私は最初の3つのラジオが最後にリロード時に選択されたものを覚えている必要はありませんが、私はこのjavascriptを書いていないので、それを非常に理解していないので、最後の3つのラジオを作りながら、続けて –
...最後の3つのラジオが最後に選択した値を覚えている間に!正しいものが表示され/隠されている限り、ページがリロードされるたびにプライマリが選択されても問題ありません。どんな助けもありがとう! –