2013-09-30 35 views
35

# 1 durumunda, # 2 durumunda çalışmaz. Kod feryat edin:Bootstrap radyo düğmesi "işaretli" bayrağı

<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> 

Burada eylem görebilirsiniz: http://bootply.com/84165

+1

Neler işe yaramıyor? – Trevor

cevap

69

varsayılan bir düğme kontrol edilmesini istiyorum varsayarsak.

<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> 

varsayılan olarak formda teslim alır, böylece onun input etiketine temerrüde ve checked="" istediğiniz düğmenin ( label etiketi) active sınıfını ekleyin.

+0

Teşekkürler @Trevor. Düğme şimdi kontrol edildi, ancak formu gönderdiğimde, kontrol edilen şekli anlamıyor. 'Active' olmadan diğer seçenekleri manuel olarak tıklarsam, gönderim değeri anlayabilir. Örneğin, 2011'de tıklarsam ve 2013'te tekrar tıklarsanız ve çalıştığı formu gönderirseniz, 2013 etkinken. Herhangi bir ideia var mı? Tekrar teşekkürler. – Khrys

+1

Şuna benziyor: http://stackoverflow.com/questions/11462434/twitter-bootstrap-radio-buttons-not-working – Khrys

+0

Oh bu durumda, giriş öğesine de "checked =" "' eklemeye çalışın. Cevabımı güncelleyeceğim. – Trevor

14

kontrol girişlerinin veliler tüm etiketlere 'etkin' sınıfı uygulamak için bir javascript düzeltme:

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

insert sağ

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

"Geri" düğmesine bastıktan sonra vurgulanamayan düğmelerle ilgili sorun yaşıyorsanız, bu JavaScript pasajı bunu düzeltir. Teşekkürler, @rawrkats. –

+1

Bu çözümü en çok beğendim, ama $ (".btn-group") 'ı kullandım: find (': input: checked '). Parent ('. Btn '). AddClass (' active '); Bunların hiçbirine sahip olmayan sayfalarda daha hızlı bir dokunuşla çalışır. –

1

Kullanım aktif sınıf etiket ile Otomatik seçmek ve checked="" kullanın.

<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

Yukarıda belirtildiği gibi çalışması için etiket aktif kullanmak zorunda. Ama kontrol ettiniz = "işaretli" ve bu da işe yarayacak. Bu gerekli değil, ancak daha okunaklı ve daha html format uyum olduğundan daha mantıklı.