2011-01-26 5 views
14

Можно создать дубликат:
Check checkbox checked property using jQueryJQuery, если флажок не установлен Issue

У меня возникли проблемы собирание, когда флажок не установлен.

Вот мой пример кода:

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

Но предупреждение (если флажок не установлен) никогда не стреляет ... The «еще» никогда не умирает независимо от того, в каком состоянии находится флажок в?

Я не вижу, где я ошибаюсь.

ответ

18

вы не можете передать this:checked как строка - это не будет работать, как это будет интерпретироваться как строка и всегда вычисляться true

$(this).is(':checked') использования вместо

+0

да $ (это) .а (: проверено) следует использовать! – Harish

+0

другой бит аналогичный q/a: http://stackoverflow.com/questions/2525331/jquery-checked-checkbox-ie-problem – Forhad

2

Строка "this:checked" всегда будет вычисляться TRUE. Попробуйте this.checked вместо этого, то есть, оценить свойство checked на this:

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

Хм, немного поздно на этом :) Также убедитесь, что вы только пытаетесь получить доступ '.checked' on' jensgram

+0

да :), но используя native this.checked выполнит свою работу (и даже быстрее) - дал jquery-ответ для согласования с остальной частью примера и чтобы показать как его следует использовать должным образом. –

+0

@ Tom Hu Yup! Кроме того, я забыл ссылку на [* Использование огромной мощности jQuery для доступа к свойствам элемента *) (http://whattheheadsaid.com/2010/10/utilizing -the-awesome-power-of-jquery-to-access-properties-of-an-element), с которым я связываюсь каждый раз, когда могу :) – jensgram

Смежные вопросы