Code Probleme JavaScript?

LeBonyt  17.04.2025, 11:42

Bitte den JavaScript noch vollständig pasten.

anonym123679 
Beitragsersteller
 17.04.2025, 12:30

Aufgrund der Zeichenbegrenzung ist der JavaScript-Teil nicht sichtbar, aber ich habe ihn Stück für Stück unter die Nachricht von SikerimAMK31 kommentiert.

EinAlexander  17.04.2025, 11:42

Tja, der Javascript-Part sieht schon sehr leer aus ...

anonym123679 
Beitragsersteller
 17.04.2025, 12:27

Siehe die Kommentar unter der Nachricht von @SikerimAMK31, da ist der Code Stück für Stück. Entschuldigung!

EinAlexander  17.04.2025, 13:00

Schreib das Ganze nochmal. Den gesamten Code aus einer Frage und vier Kommentaren zusammenzuklauben, hat niemand Lust

anonym123679 
Beitragsersteller
 17.04.2025, 13:52

Geht nicht. Zeichenbegrenzung. Wenn sich, sag bitte, wie - dann weiß ich es nicht.

1 Antwort

Nun, wenn das JavaScript leer ist kann das ja auch schlecht was werden, oder?


anonym123679 
Beitragsersteller
 17.04.2025, 12:21

Oh, sorry! Das ging anscheinend nicht wegen der maximalen Zeichenbegrenzung. Ich versuche es mal so:

   const frostFilter = document.getElementById("frostFilter");

   const standortFilter = document.getElementById("standortFilter");

   const schwierigkeitFilter = document.getElementById("schwierigkeitFilter");

   const farbeFilter = document.getElementById("farbeFilter");

anonym123679 
Beitragsersteller
 17.04.2025, 12:23
@anonym123679

   const plants = [

     { 

    name: 'Sarracenia purpurea, Purpurrote Schlauchpflanze', 

    frostFilter: '-10',

    standortFilter: ['sonne', 'pralleSonne', 'halbschatten'],

    schwierigkeitFilter: '1',

    farbeFilter: 'rot',

    image: 'https://images.pexels.com/photos/10064834/pexels-photo-10064834.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1',

    careTips: `

    <h4>Schwierigkeit:</h4> leicht<br>

    <h4>Standort:</h4> *Sonne, *pralle Sonne, Halbschatten.<br>

    <h4>Gießen:</h4> Regelmäßig mit kalkfreiem Wasser; das Substrat sollte immer feucht sein. Staunässe wird während des Sommerhalbjahres vertragen.<br>

    <h4>Substrat:</h4> locker, sauer, wasserspeichernd, organisch, kalkfrei. Beispiel: Weißtorf, Pinienrinde, Perlite 1:1:1<br>

    <h4>Winterruhe:</h4> 0-20°, Blätter können sich bei < 15° zurückbilden oder aufhören zu wachsen. Ausgepflanzt bis -10°.<br>

    <h4>Unterarten:</h4> Es gibt zwei Unterarten: ssp. <i>purpurea</i> und ssp. <i>venosa</i>. <i>S. p. </i>ssp.<i> venosa</i> ist bauchiger und hat einen welligen Deckelrand, während ssp. <i>pupurea</i> meist einen glatteren Deckelrand hat.<br>

    Unabhängig von der Unterart gibt es purpurrote und grüne Exemplare.<br>

    <h4>Blütenfarbe:</h4> rosa bis purpurrot.<br>

    <h4>Weitere Infos:</h4> Als eine der wenigen Schlauchpflanzen macht es ihr auf Dauer nichts aus, wenn Regenwasser in ihre Schlauchblätter gelangt - sie mag es sogar.

    `

  },

  { 

    name: 'Sarracenia oreophila, Grüne Schlauchpflanze', 

    frostFilter: '-15',

    standortFilter: ['sonne', 'pralleSonne'],

    schwierigkeitFilter: '2',

    farbeFilter: 'gelb',

    image: 'https://apps.rhs.org.uk/plantselectorimages/detail/Sarracenia_oreophila_10552.jpg',

    careTips: `

    <h4>Schwierigkeit:</h4> mittelleicht<br>

    <h4>Standort:</h4> *pralle Sonne, Sonne.<br>

    <h4>Gießen:</h4> Regelmäßig mit kalkfreiem Wasser; Das Substrat sollte immer feucht sein. Staunässe wird während des Sommerhalbjahres vertragen.<br>

    <h4>Substrat:</h4> locker, sauer, wasserspeichernd, semimineralisch, kalkfrei. Beispiel: Weißtorf, Perlite, Pinienrinde, Quarzsand 2:2:1:1<br>

    <h4>Winterruhe:</h4> 0-12°, Blätter können sich zurückbilden und aufhören zu wachsen. Ausgepflanzt bis -15°.<br>

    <h4>Varietäten:</h4> Es gibt mehrere Varietäten und Formen, die sich zB. durch stärkere Ausprägung der Aderung kennzeichnen. Einige von denen sind aber bereits ausgestorben.<br>

    <h4>Blütenfarbe:</h4> gelb.<br>

    <h4>Weitere Infos:</h4> Wegen ihres großen Deckels und der hohen Frostresistenz ist die Pflanze relativ beliebt.

    `

  },

anonym123679 
Beitragsersteller
 17.04.2025, 12:24
@anonym123679

  { 

    name: 'Sarracenia leucophylla, Weiße Schlauchpflanze', 

    frostFilter: '-10',

    standortFilter: ['sonne', 'pralleSonne'],

    schwierigkeitFilter: '2',

    farbeFilter: 'rot',

    image: 'https://external-content.duckduckgo.com/iu/?u=https://tse1.mm.bing.net/th?id%3DOIP.N2TsVbh3GA8ugj_q5NzvJgHaIx%26pid%3DApi&f=1&ipt=04e107ecf0e439002e99f77f23abafe05df3539fc0fec5d2ecf169a208ae256b&ipo=images&kp=1.jpg',

    careTips: `

    <h4>Schwierigkeit:</h4> mittelleicht<br>

    <h4>Standort:</h4> *pralle Sonne, Sonne.<br>

    <h4>Gießen:</h4> Regelmäßig mit kalkfreiem Wasser; das Substrat sollte immer feucht sein. Staunässe wird während des Sommerhalbjahres vertragen.<br>

    <h4>Substrat:</h4> locker, sauer, wasserspeichernd, organisch, kalkfrei. Beispiel: Weißtorf, Pinienrinde, Perlite 1:1:1<br>

    <h4>Winterruhe:</h4> 0-15°, Blätter können sich zurückbilden oder aufhören zu wachsen. Ausgepflanzt bis -10°.<br>

    <h4>Varietäten:</h4> Es gibt eine Varietät (var. <i>alba</i>), die weniger Rot- und dafür mehr Weißtöne besitzt. Unabhängig davon kann aber auch so der Gehalt an rotem Farbdtoff schwanken.<br>

    <h4>Blütenfarbe:</h4> tiefrot.<br>

    <h4>Weitere Infos:</h4> Oft wird diese Pflanze mit <i>S. psittacina</i> oder <i>purpurea</i> gekreuzt, dann bleiben die Schläuche niedriger und sind rötlicher ausgefärbt.

    `

  },

  { 

    name: 'Sarracenia x Hybrida, Baumarkt-Schlauchpflanze', 

    frostFilter: '-05',

    standortFilter: ['sonne', 'pralleSonne', 'halbschatten'],

    schwierigkeitFilter: '1',

    farbeFilter: 'rot',

    image: 'https://cdn.pixabay.com/photo/2020/01/23/21/28/sarracenia-4788783_1280.jpg',

    careTips: `

    <h4>Schwierigkeit:</h4> leicht<br>

    <h4>Standort:</h4> *Sonne, pralle Sonne, Halbschatten.<br>

    <h4>Gießen:</h4> Regelmäßig mit kalkfreiem Wasser; das Substrat sollte immer feucht sein. Staunässe wird während des Sommerhalbjahres vertragen.<br>

    <h4>Substrat:</h4> eher locker, sauer, wasserspeichernd, organisch, kalkfrei. Beispiel: Weißtorf, Perlite 1:1<br>

    <h4>Winterruhe:</h4> 5-20°, Blätter können sich bei < 15° zurückbilden oder aufhören zu wachsen. Ausgepflanzt bis -5°.<br>

    <h4>Varietäten:</h4> ... gibt es nicht, da es sich um eine Kreuzung handelt. Natürlich gibt es aber stärkere Abweichungen im Aussehen, denn diese Hybriden sind oft Kreuzungen aus <i>S. purpurea, S. flava, S. leucophylla</i> oder <i>S. rubra</i>.<br>

    <h4>Blütenfarbe:</h4> tiefrot, rosa bis gelblich, je nach Elternarten.<br>

    <h4>Weitere Infos:</h4> Für den Einstieg in die Welt der Schlauchpflanzen super gut geeignet.

    `

  }

  // Weitere Pflanzenobjekte hier

];

let noResultsMessage;

function searchPlants() {

 const query = document.getElementById("searchInput").value.toLowerCase();

 const frost = document.getElementById("frostFilter").value;

 const standort = document.getElementById("standortFilter").value;

 const schwierigkeit = document.getElementById("schwierigkeitFilter").value;

 const farbe = document.getElementById("farbeFilter").value;

 const filtered = plants.filter(plant => {

  const nameMatch = plant.name.toLowerCase().includes(query);

  const frostMatch = !frost || parseInt(plant.frostFilter);

  const standortMatch = !standort || plant.standortFilter.includes(standort);

  const schwierigkeitMatch = !schwierigkeit || plant.schwierigkeitFilter === schwierigkeit;

  const farbeMatch = !farbe || plant.farbeFilter === farbe;

  return nameMatch && frostMatch && standortMatch && schwierigkeitMatch && farbeMatch;

 });

 const resultsContainer = document.getElementById("resultsContainer");

 resultsContainer.innerHTML = "";

 const anonContainer = document.getElementById("anonymousContainer");

 if (filtered.length === 0) {

  anonContainer.innerHTML = "<p style='background-color: red; color: white; font-weight: 600; border-radius: 8px; padding: 8px 10px;'>Keine Pflanzen gefunden.</p>";

  return; // Verhindert, dass forEach aufgerufen wird

 } else {

  anonContainer.innerHTML = "";

 }

 filtered.forEach(plant => {

  const card = document.createElement("div");

  card.className = "plant-card";

  card.innerHTML = `

   <img src="${plant.image}" alt="${plant.name}" />

   <h3>${plant.name}</h3>

   <div class="care-tips">${plant.careTips}</div>

  `;

  resultsContainer.appendChild(card);

 });

}

// Initialer Aufruf

searchPlants();