2011-03-21 21 views
6

jQuery uygulamasında yeniyim ve uygulamamdaki bazı radyo düğmelerinin yerine onun düğme setini kullanacağımı düşündüm. Buradaki belgeler: http://jqueryui.com/demos/button/#radiojQuery buttonset değiştir

Düğmeler grubu değer değiştiğinde bir olaya nasıl işleyici eklerim? HTML sonradan ardından

$('input.tod_quant').change(function() { 
    alert('TEST'); 
}); 

Ve:

<span id="tod_quant" class="buttonset"> 
     <input type="radio" id="tod_quant5" name="tod_quant" value="5" /><label for="tod_quant5">5-Minute</label> 
     <input type="radio" id="tod_quant60" name="tod_quant" checked="checked" value="60" /><label for="tod_quant60">60-Minute</label> 
     </span> 

"değişim" olayı tetikler asla Burada

denedim kod snippet'idir. Bir değişim olayı bile var mı? Bunu nasıl yapabilirim? Ayrıca, bir örnek ile herhangi bir belge var mı? http://jqueryui.com bol miktarda örneğe sahiptir ve bulabildiğim tek bir olayın ateş etmediğini gösterir. Sanırım jQuery bilgisizliğim, duruma tam olarak yardımcı olmuyor.

Herhangi bir yardım en çok takdir edilecektir. Teşekkür ederim.

cevap

6

Ha! Sorun çözüldü. Bütün gün hackledim ve önümde haklıydı.

Sadece bu kadar eleman seçerek nasıl değiştirmek için gereken:

$('#tod_quant') 
+0

'u yapmaya karar verdim. Cevabınız aynı yazarken yanıp söner ... shucks! –

9

jQuery UI düğmeleri için herhangi change olay yok.

değiştirebilir veya altta yatan radyo düğmelerinin olayı tıklayın dinlemeliyiz

: Eğer jquery.js ve jQueryUI dahil olup olmadığını

http://jsfiddle.net/marcosfromero/kr2Xc/

+2

Bu doğru olsa da, düğme setine uygulanan bir değişiklik olayını dinleyebilirsiniz. JQuery paskalya yumurtası gibi görünüyor ama bu gayet iyi çalışıyor: '$ ('# tod_quant'). Buttonset(). Change (function() {// do stuff});' – jdp

-1
<script> 
    $(function() { 
     $("#radio").buttonset(); 
    }); 
    </script> 



<div class="demo"> 

<form> 
    <div id="radio"> 
     <input type="radio" id="radio1" name="radio" /><label for="radio1">Choice 1</label> 
     <input type="radio" id="radio2" name="radio" checked="checked" /><label for="radio2">Choice 2</label> 
     <input type="radio" id="radio3" name="radio" /><label for="radio3">Choice 3</label> 
    </div> 
</form> 

kullanımı bu kodu ve kontrol .js dosyaları veya değil.

2

bu sorunu vardı ve ben aşağıda bu çözüldü:

$('.label-class').click(LabelClicked); 
$('.input-class').change(InputChanged); 
function LabelClicked() { 
    var input = $('#' + $(this).attr('for')); 
    if(input) 
     input.trigger('change'); 
    return true; 
} 
function InputChanged() { 
    //do your work with this event 
} 

başka hiçbir yolu: Ben etiketler için bir olay işleyicisi yarattı! Birkaç yolu test ettim ve sonunda bu

+0

Dinamik olarak oluşturulmuş onay kutularını kullananlar için ek bir not olarak, Olay işleyicisini, düğmelerden() sonra çağrıyı eklemelisiniz. Eğer alanları ajax'dan alıyorsanız, her güncellemede yapılmalıdır. Bunu düşündüğün zaman belli oluyor ama ben var olmayan bir şey üzerinde bir işleyici yarattığımı fark etmeden önce yazım hataları ve sözdizimi kontrol etmek için çok az zaman harcadım. – carruthd

İlgili konular