2012-03-01 6 views
1

ラジオボックスグループがあり、次のようにjavascriptを使用してラジオボックスを選択する必要があります。値D3のオプションをチェックする必要がありますJavaScriptを使用して「グループ」内の特定のラジオボックスをチェックする方法

<input type="radio" name="day" id="day" value="D1" />D1 
<input type="radio" name="day" id="day" value="D2" />D2 
<input type="radio" name="day" id="day" value="D3" />D3 
<input type="radio" name="day" id="day" value="D4" />D4 

どのように3番目のオプションを確認できますか?

+0

あなたは彼らがすべて同じ名前とIDを共有してよろしいですか? –

+0

名前が同じであれば、なぜ 'radio'を使わないのでしょうか? チェックボックスグループが複数選択用に作成されています。 –

+0

同じIDを持つことによって、グループを形成します。私は間違っている? –

答えて

2

このラジオグループをフォームに入れて、theNameOfTheFormをフォームの名前に変更してください。

<form name="theNameOfTheForm"> 
.. 
.. 
.. 
</form> 

のjavaスクリプト機能:

<script type="text/javascript"> 

function select_radio_value(theValue) 
{ 
for (var i=0; i < document.theNameOfTheForm.day.length; i++) 
    { 
    if (document.theNameOfTheForm.day[i].value == theValue) 
     { 
     document.theNameOfTheForm.day[i].checked = true; 
     } 
    } 
} 
</script> 

今、あなたはどのイベントでのjsの関数として使用することができます。

<input type='button' name='c3' value='Click Here to check the D3 radio' onClick="javascript:select_radio_value('D3')"> 
+0

まあ、私はループを避けたかったのです。とにかく、それは動作し&ありがとう。 –

0

通常、document.getElementById( 'day').valまたはjQuery( '#day')。val()を使用します。つまり、異なるIDを持つ場合です。彼らは、IDを共有している場合、それはIDが異なっていることを前提としていますが、おそらく

jQuery('#day')[3].val() 

jQueryのは、実際にcriteiaに一致する要素の配列を返すので、仕事ができることから、私はのdocument.getElementByIdとすることができますかわかりません

+0

私の場合、私は選択したいオプションのインデックスを知らない。私は値D1、D4、N1、N2などを知っているだけです。 –

0

各チェックボックスから一意のIDを削除します。あなたは1つのページに1つのユニークIDを持つ必要があります。 JavaScriptで

、次のようにこのグループに第三のチェックボックスにアクセスし、checkedに設定します。

var inputs = document.getElementsByTagName('input'); 
inputs[2].setAttribute('checked', 'checked'); 

OR、あなたは単にあなたのHTMLにchecked=checkedを追加することができます。

+0

私のフォームには、例で示したより多くのフィールドが個あります。それは適切な方法ではないようです。 –

0
function selectRadio(toBeSelectedRadioIndex) 
{ 
    var radioElements = document.getElementById('day'); 
    radioElements[toBeSelectedRadioIndex].checked = true; 
} 

多くの場合、あなたの要素には異なるID名が必要です。 その後、同じ名前を付けて、代わりにgetElementsByTagNameを使用できます。 コードは、私がラジオボタンに異なるIDを与えるだろうし、次ん

function selectRadio(toBeSelectedRadioIndex) 
{ 
    var radioElements = document.getElementsByTagName('day'); 
    radioElements[toBeSelectedRadioIndex].checked = true; 
} 
+0

私はインデックスを知らない。私はその価値を知っている。提供された値に基づいてボックスをチェックする必要があり、インデックスはチェックしないでください。 –

0

...のようになります。

d3.select("input#thirdRadio").property("checked", "true"); 
関連する問題