2017-06-22 10 views
1

ラジオボタンに関する簡単な質問と、ユーザーがページに戻ったときにラジオボタンを設定する方法について説明します。私が今したいのは、ページに戻ったときに選択したアイテムを表示できることです。同じグループにいくつかありますので、私はgetElementByID(悲しいことに!)を使うことはできません。グループにラジオボタンを自動的に設定すると、ページに戻ったときに選択されます。

これは私のHTMLです:

<input id="q1input" onblur="saveItemData(this.id)" type="radio" name="optradio" value="1 cardiovascular system">cardiovascular system 

<input id="q1input" onblur="saveItemData(this.id)" type="radio" name="optradio" value="2 respiratory system">respiratory system 

私が正常にチェックされた項目の値を取得いくつかのコードがあります。

:次に

var inputData = $("input:radio[name=optradio]:checked").val(); 

を、私はリロードに呼び出されるコードを持っています

var itemToCheck = document.getElementById(elementID).getAttribute("value", cleanedText); 

itemToCheck.checked = true; 

どのようにして選択したアイテムをターゲットにして、チェックされた値をtrueに設定できますか?

希望は意味があります。

+0

それもその –

+0

で同じID、利用クラスで複数の要素を持っているのは良いアイデアことはありませんか、?あなたはすべての関連コードを含める必要があります –

+0

私はそれが素晴らしいアイデアではないことを知っているが、私はidのユニークな場所の他の全体の多くのために同じコードを使用しているので、これは彼らが同じ - 迷惑な唯一の場所です:( –

答えて

2

あなたが使用して特定の値を持つ特定の入力タイプを選択できます。

$('input[type="radio"][value="your_value"]') 

あなたのケースでは、これを試してみてください。代わりにハードコード値の

$(document).ready(function(){ 
 
    $('input[type="radio"][value="2"]').attr('checked', true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="radio" value="1">One 
 
<input type="radio" value="2">Two

、することができます次のようなパス変数:

var value = 2; 
$('input[type="radio"][value="' + value + '"]') 
+0

ありがとう!文字列の代わりに変数を使用するには? –

+0

@BruceHerbert 'var value = 2;' $( 'input [type = "radio"] [value = "' + value + '"]') ' – Mark

+1

@MarkありがとうございましたBruceさんが更新された回答をチェックするか、コメントを記入してください –

1

選択した値を保存してその値を表示したい場合は、それにはlocalStorageを使用してそこに値を格納し、ページが読み込まれるときにそれを表示することができます。あなたから要素IDを取得します

$(document).ready(function(){ 

    $("input[name='optradio']").change(function(){ 
     var val = $(this).val(); 
     window.localStorage.removeItem('optradio_value'); 
     window.localStorage.setItem('optradio_value',val); 
    }); 


    var saved_value = window.localStorage.getItem('optradio_value'); 

    if(saved_value) 
    { 
     $("input[name='optradio']").attr('value',saved_value).attr('checked',true); 
    } 
}); 
+0

良い提案もあります - 私はすでにそれを開始していたので、私は他の解決策を検討しました。 –

関連する問題