2011-01-13 12 views
25

私が収集したものから、ラジオボタンのラベルをクリック可能にするには、両方の要素に同じ「名前」属性値を割り当てる必要があります。クリック可能なラベルを持つラジオグループ

私が抱えている問題は、複数のラジオボタンがある場合、「はいまたはいいえ」というタイプの選択があるということです。これをクリックすると、他の無効化は、両方のラジオボタンの名前属性が同じ値でなければならないということになります。

両方を行うことはできますか?

<label for="no">No</label> 
<input type="radio" name="no" value="no" /> 

<label for="yes">Yes</label> 
<input type="radio" name="yes" value="yes" /> 

答えて

44

idに名前を付けていない)属性は、ラベルのfor属性によって参照されるべきです。それはこのようにする必要があります:あなたはまた、IDがなくてラベルを書き込むことができますhttp://jsfiddle.net/zzsSw/

<label for="no">No</label> 
<input type="radio" name="mygroup" id="no" value="no" /> 

<label for="yes">Yes</label> 
<input type="radio" name="mygroup" id="yes" value="yes" /> 
+1

は理にかなっています。今私は両方の要素に正しい名前を割り当てることができますか? http://jsfiddle.net/zzsSw/1/ –

37

<label> 
    <input type="radio" name="mygroup" /> 
    My clickable caption 
</label> 

またはチェックボックス

<label> 
    <input type="checkbox" name="mygroup[]" /> 
    My clickable caption 
</label> 
+5

この回答は私のものより優れています。 – Ish

+0

私はそれが良いことに同意します。古いIEをサポートする必要がある場合、名前を持つ要素は 'document.getElementById'によって見つけられます。これはIDと名前の両方を検索します。解説のhttp://msdn.microsoft.com/en-us/library/ie/ms536437(v=vs.85).aspxを参照してください。 IE7以下が(あなたがIE10をサポートしていてもIE7の標準モードなどであっても)あなたの目標である場合は、実際にこれらの要素に名前とIDを入れてください。 –

+0

私はこれのように多くのHTMLを書いており、今や後悔しています。プログラムでキャプションを再配置するための明白な方法はわかりません。テーブルレイアウト。 – Cuadue

関連する問題