Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Filtrowanie danych - if - else
Forum PHP.pl > Forum > Przedszkole
php11
Cześć,

korzystam z tego: https://stackoverflow.com/questions/4858572...586061#48586061


Filtrowanie działa pięknie, choć samo działanie nie do końca to ogarniam ;-)
Chciałbym wyswietlić informację, gdy zwracany wynik nie wyświetla nic (podany przykład zawsze zwraca jakąś wartość figur).

Kombinowałem cos jak poniżej dla color oraz shape, ale nie działa
  1. if (color) {
  2. Array.from(cards).filter(card => !card.classList.contains(color)).forEach(card => card.classList.add('hidden'))
  3. moja_let = true;
  4. } else {
  5. moja_let = false;
  6. }


Naprowadzicie mnie na rozwiązanie?
Dzięki!
trueblue
A możesz opisać co dokładnie chcesz osiągnąć?
Podany przykład filtruje elementy, które nie mają określonej klasy i nadaje im klasę 'hidden'.
php11
Dzięki za szybka i konkretna odpowiedź
Już się poprawiam :-)

Dodałem do selectów: gold oraz circle
  1. <label>Choose the color
  2. <select id="selectColor" onchange="colorType();">
  3. <option value=""></option>
  4. <option value="gold">Gold</option>
  5. <option value="blue">Blue</option>
  6. <option value="red">Red</option>
  7. </select>
  8. <label>Choose the shape
  9. <select id="selectShape" onchange="shapeType();">
  10. <option value=""></option>
  11. <option value="circle">Circle</option>
  12. <option value="round">Round</option>
  13. <option value="square">Square</option>
  14. </select>

Gdy wybieram je oba (lub pojedynczo) nie dzieje się nic, bo nie dodałem div-ów z tymi klasami.

Gdy wybranie selecta generuje 0 wyników chcę wyświetlic komunikat: zmień wybór
Tylko i aż tyle ;-)
trueblue
  1. >Choose the color
  2. <select id="selectColor">
  3. <option value=""></option>
  4. <option value="gold">Gold</option>
  5. <option value="blue">Blue</option>
  6. <option value="red">Red</option>
  7. </select>
  8. >Choose the shape
  9. <select id="selectShape">
  10. <option value=""></option>
  11. <option value="circle">Circle</option>
  12. <option value="round">Round</option>
  13. <option value="square">Square</option>
  14. </select>
  15.  
  16.  
  17. <span class="gold round">gold round</span>
  18. <span class="gold square">gold square</span>
  19. <span class="red square">red round</span>



Kod
document.addEventListener("change", function (e) {
  if (
    e.target.tagName === "SELECT" &&
    (e.target.id === "selectColor" || e.target.id === "selectShape")
  ) {
    let chosen = []

    if (
      document.getElementById("selectColor").value !== "" &&
      document.getElementById("selectShape").value !== ""
    ) {
      chosen = document.querySelectorAll(
        "." +
          document.getElementById("selectColor").value +
          "." +
          document.getElementById("selectShape").value,
      )

      if (chosen.length === 0) {
        alert(1)
      }
    }
  }
})
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.