Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Przeciwieństwo funkcji .is()
Forum PHP.pl > Forum > Przedszkole
peja1990
Witam, mam niewielki problem.
Jestem dosyć początkujący w JavaScript'cie i chciałbym abyście mnie uświadomili jaka jest przeciwna funkcja do .is()

Ogólnie chcę to wykorzystać w skrypcie sprawdzającym zaznaczenie checkbox'ów:

  1. ...
  2. if($('input[name="contact_mail"]').is(':checked')) {
  3. $("label#any").slideUp();
  4. $("div#contact_mail").slideDown();
  5. } else if($('input[name="contact_chat"]').is(':checked')) {
  6. $("label#any").slideUp();
  7. } else if($('input[name="contact_phone"]').is(':checked')) {
  8. $("label#any").slideUp();
  9. } else {
  10. $("label#any").slideDown();
  11. }


Patrząc na powyższy kod chyba sami widzicie, że else odpada wink.gif

EDIT:
Dodam tylko, że wiem jak można to zrobić w inny sposób ale uparłem się, żeby zrobić to ładniej korzystając z (mam nadzieję, że istniejącej) funkcji, która za to odpowiada wink.gif
wookieb
[JAVASCRIPT] pobierz, plaintext
  1. !$('input[name="contact_mail"]').is(':checked')
  2. // albo
  3. $('input[name="contact_mail"]').not(':checked')
[JAVASCRIPT] pobierz, plaintext
peja1990
Czyli odpowiedź jest prosta ?
Funkcja .not() ? smile.gif
wookieb
Tak snitch.gif
peja1990
Ok, super tylko jakoś mi nie działa tongue.gif

Zrobiłem to w ten sposób bo póki co innego nie widziałem tongue.gif
  1. ...
  2. $("input[type='checkbox']").click(function(){
  3. if($('input[name="contact_mail"]').is(':checked')) {
  4. $("label#any").slideUp();
  5. $("div#contact_mail").slideDown();
  6. } else {
  7. $("div#contact_mail").slideUp();
  8. }
  9. if($('input[name="contact_chat"]').is(':checked')) {
  10. $("label#any").slideUp();
  11. $("div#contact_chat").slideDown();
  12. } else {
  13. $("div#contact_chat").slideUp();
  14. }
  15. if($('input[name="contact_phone"]').is(':checked')) {
  16. $("label#any").slideUp();
  17. $("div#contact_phone").slideDown();
  18. } else {
  19. $("div#contact_phone").slideUp();
  20. }
  21. if(($('input[name="contact_mail"]').not(':checked')) & ($('input[name="contact_chat"]').not(':checked')) & ($('input[name="contact_phone"]').not(':checked'))) {
  22. $("label#any").slideDown();
  23. }
  24. });
  25. ...


Wszystko działa ładnie ale właśnie funkcja .not() nie trybi czyli ta linia
  1. if(($('input[name="contact_mail"]').not(':checked')) & ($('input[name="contact_chat"]').not(':checked')) & ($('input[name="contact_phone"]').not(':checked'))) {


Gdyż gdy odznaczę wszystkie checkbox'y, to nie rozwija mi label'a, którego ID to "any" sad.gif

Poradzicie coś ? smile.gif))
wookieb
Nie & tylko && sad.gif albo AND
peja1990
Mistrzu wink.gif AND to chyba nie w JS biggrin.gif
A co do && to spoko, działa ale nie do końca bo teraz jeżeli zaznaczę checkbox'a, to zwija mi label'a #any i z powrotem go od razu rozwija więc lipton...


  1. if(($('input[name="contact_mail"]').not(':checked')) && ($('input[name="contact_chat"]').not(':checked')) && ($('input[name="contact_phone"]').not(':checked'))) {



OGARNĄŁEM exclamation.gif wink.gif Dziękówa wookieb
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.