Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] pętla czy jest jakis inny sposob?
Forum PHP.pl > Forum > Po stronie przeglądarki
blokern
Hej mam taki kod

  1. $("div").hide();
  2. $("div[persons="+value+"]").show();


value wpisuje z inputa

oraz w body

  1. <div persons="1"></div>
  2. <div persons="2"></div>
  3. <div persons="3"></div>
  4. <div persons="4"></div>


naciskam ok i zostawia mi tylko te divy gdzie persons z inputa = persons z diva
a co zrobic zeby dac warunek >= ?
moj pomysl taki zeby sprawdzic ile wynosi value odjac od maxa i przepuscic tyle razy przez petle podstawiajac kolejno +1 do value az sie skonczy ale moze jest jakis inny sposob?
niestety ale

  1. $("div[persons>="+value+"]").show();


nie dziala


trueblue
Nie działa, bo nie ma takiego selektora. Lista selektorów atrybutów jest na końcu: https://www.w3schools.com/css/css_attribute_selectors.asp
Musisz zrobić pętlę, ale nie kombinować z jakimś max i value, ale pobrać w każdej iteracji atrybut persons (dla niestandardowych atrybutów stosuje się atrybut data-*, czyli u Ciebie data-persons) i sprawdzić czy wartość jest większa od zadanej wartości.
blokern
dzieki za odpowiedz.
czyli jednak petle

a cos takiego zadziala ale wezme do serca Twoja wskazowke zeby dodac data-
  1. var data = 'pies';
  2. $("div["+data+"='0']").hide();

dziala
trueblue
Niezależnie czy pytasz czy twierdzisz, działa. Bo taki selektor istnieje.
Jest różnica pomiędzy "=", a ">=".
LowiczakPL
  1. $("div[persons]").each(function() {
  2. let val = $(this).attr('persons');
  3.  
  4. if (val < 3) $(this).hide()
  5. });
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-2024 Invision Power Services, Inc.