2011-01-26 14 views
14

Powiel możliwe:
Check checkbox checked property using jQueryjQuery, jeśli nie jest zaznaczone pole wyboru WYDANIE

Mam problem podniesienie gdy pole wyboru nie jest zaznaczone.

Oto mój przykładowy kod:

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

Ale alert (gdy pole wyboru nie jest zaznaczone) nie odpala na ... „else” nie wykopuje bez względu na stan pole wyboru jest w?

Nie widzę, gdzie idę źle.

Odpowiedz

18

nie można przejść this:checked jako ciąg - to nie będzie działać, jak to będzie interpretowane jako łańcuch i zawsze oceniać na true

użytku $(this).is(':checked') zamiast

+0

tak $ (this) .is (: zaznaczone) należy stosować! – Harish

+0

kolejny bit podobny q/a: http://stackoverflow.com/questions/2525331/jquery-checked-checkbox-ie-problem – Forhad

2

Ciąg "this:checked" zawsze oceniać na TRUE. Spróbuj this.checked zamiast, to znaczy ocenić właściwość checked na this:

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

Hmm, trochę późno na to :) Upewnij się też, że próbujesz tylko uzyskać dostęp '.checked' na' jensgram

+0

tak :) ale użycie native this.checked wykona swoją pracę (i jeszcze szybciej) - dało odpowiedź jquery dla spójności z resztą przykładu i do pokazania jak to powinno być poprawnie użyte –

+0

@ Tom Hu Yup! Również zapomniałem odniesienia do [* Wykorzystanie niesamowitej mocy jQuery do uzyskania dostępu do właściwości elementu *] (http://whattheheadsaid.com/2010/10/utilizing -przenośny-power-of-jquery-to-access-properties-of-an-element), z którym łączę się, kiedy tylko mogę :) – jensgram

Powiązane problemy