2013-09-30 12 views
35

#1の場合、#2の場合は動作しません。怒鳴るコードをチェックしてください:ブートストラップラジオボタンが「チェック済み」フラグ

<div class="container"> 
    <div class="row"> 
     <h1>Radio Group #1</h1> 
     <label class="radio-inline"> 
      <input name="radioGroup" id="radio1" value="option1" type="radio"> 1 
     </label> 
     <label class="radio-inline"> 
      <input name="radioGroup" id="radio2" value="option2" checked="checked" type="radio"> 2 
     </label> 
     <label class="radio-inline"> 
      <input name="radioGroup" id="radio3" value="option3" type="radio"> 3 
     </label> 
    </div> 
    <div class="row"> 
     <h1>Radio Group #2</h1> 
     <label for="year" class="control-label input-group">Year</label> 
     <div class="btn-group" data-toggle="buttons"> 
      <label class="btn btn-default"> 
       <input name="year" value="2011" type="radio">2011 
      </label> 
      <label class="btn btn-default"> 
       <input name="year" value="2012" type="radio">2012 
      </label> 
      <label class="btn btn-default"> 
       <input name="year" value="2013" checked="checked" type="radio">2013 
      </label> 
     </div> 
    </div> 
</div> 

を現在のアクションでそれを見ることができます:http://bootply.com/84165

+1

何が問題なのですか? – Trevor

答えて

69

はあなたがチェックし、デフォルトボタンをしたいと仮定します。

<div class="row"> 
    <h1>Radio Group #2</h1> 
    <label for="year" class="control-label input-group">Year</label> 
    <div class="btn-group" data-toggle="buttons"> 
     <label class="btn btn-default"> 
      <input type="radio" name="year" value="2011">2011 
     </label> 
     <label class="btn btn-default"> 
      <input type="radio" name="year" value="2012">2012 
     </label> 
     <label class="btn btn-default active"> 
      <input type="radio" name="year" value="2013" checked="">2013 
     </label> 
    </div> 
    </div> 

は、それがデフォルトでフォームに提出されますので、あなたはその inputタグにデフォルト設定と checked=""たいボタン( labelタグ)に activeクラスを追加します。

+0

ありがとう@トレバー。ボタンは現在チェックされていますが、フォームを送信するとチェックされているようには理解できません。私が手動で他のオプションを 'アクティブ'なしでクリックすると、送信は値を理解することができます。 2013年を有効にして、2011年にクリックすると、2013年にもう一度クリックしてフォームを送信します。あなたはイデアを持っていますか?再度、感謝します。 – Khrys

+1

次のようになります:http://stackoverflow.com/questions/11462434/twitter-bootstrap-radio-buttons-not-working – Khrys

+0

その場合、 'checked =" "'を入力要素に追加してみてください。私は私の答えを更新します。 – Trevor

14

確認入力の親であるすべてのラベルに「アクティブ」クラスを適用するにはjavascriptの修正:右

$('.btn').button(); 
+0

「戻る」を押してもボタンが強調表示されないという問題が発生した場合は、このJavaScriptスニペットで修正されています。ありがとう、@rawrkats。 –

+1

私はこの解決策が一番好きですが、 '$(" .btn-group ")を使用しましたfind( ':input:checked')。parent( '.btn')。addClass( 'active');'これらの機能を持たないページでは、より速くタッチを実行します。 –

1

使用ラベルアクティブクラスの後

$(':input:checked').parent('.btn').addClass('active'); 

挿入自動選択してchecked=""を使用するようにします。

<label class="btn btn-primary active" value="regular" style="width:47%"> 
    <input type="radio" name="service" checked="" > Regular </label> 
    <label class="btn btn-primary " value="express" style="width:46%"> 
    <input type="radio" name="service"> Express </label> 
1

上記のようにラベルをアクティブにする必要があります。しかし、あなたはchecked = "checked"を使うことができ、それもうまくいくでしょう。これは必須ではありませんが、読みやすく、HTML形式のコンプライアンスが向上するにつれて意味があります。

関連する問題