2011-01-26 24 views
14

Olası Çoğalt işaretli olmadığından jQuery ise:
Check checkbox checked property using jQueryonay kutusu konuyu

Ben bir onay kutusu işaretli değilken toplayıp bir sorun yaşıyorum.

$(".get-the-look ul input").click(function(){ 
    if("this:checked") { 
     var product = $(this).attr('alt'); 
     $("#bob div").remove('.'+product); 
    } else { 
     alert('asdasd'); 
    } 
}); 

Ama 'başka' asla olursa olsun onay kutusu içinde ne devlet devreye giriyor (onay kutusu işaretli değilse) uyarı asla ateşler ...: Burada

benim örnek kod?

Nerede yanlış gidiyorum göremiyorum.

cevap

18

bir dize olarak this:checked geçemez - bir dize olarak yorumlanır ve her zaman değerlendirmek edilecek şekilde işe yaramaz yerine true

kullanım $(this).is(':checked')

+0

evet $ (this) alt sının (: işaretli) kullanılmalıdır! – Harish

+0

başka bir bit benzer q/a: http://stackoverflow.com/questions/2525331/jquery-checked-checkbox-ie-problem – Forhad

2

"this:checked" hep değerlendirecek dize kadar TRUE. yani this mülkü checked değerlendirmek yerine this.checked deneyin:

if(this.checked) { ... 
+0

Hmm, bu biraz geç bir :) Ayrıca, sadece erişmeye çalıştığınızdan emin olun ' jensgram

+0

evet :) 'de işitildi ancak bu this.checked öğesini kullanarak işini yapacak (ve daha da hızlı) - örneklerin geri kalanıyla tutarlılık sağlamak için jQuery yanıtı verdi ve düzgün bir şekilde nasıl kullanılmalıdır –

+0

@Tom Hu Yup! Ayrıca, [* Bir öğenin özelliklerine erişmek için jQuery'nin harika gücünü kullanma *] referansını unuttum (http://whattheheadsaid.com/2010/10/utilizing -mümkün olduğum her zaman bağlantı kurabildiğim harika-güç-jQuery-to-access-of-bir-element) – jensgram