Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ajax Abfrage
#1
Hallo,
ich beiße mir die Zähne an meinem Script aus....
Der Filter funktioniert einfach nicht und ich verstehe nicht warum...
Bin seit Stunden dran....
HILFE!!


Angehängte Dateien
.php   action.php (Größe: 1,01 KB / Downloads: 1)
.php   config.php (Größe: 154 Bytes / Downloads: 1)
.php   index.php (Größe: 5,21 KB / Downloads: 1)
Zitieren
#2
Da sehe ich zwei Probleme in dieser Zeile:
Code:
$('#' + text_id + ' :checked').each(function(){

  1. Eine ID ist eine schlechte Wahl um Kategorien und Zutaten zu identifizieren, weil diese für das ganze Dokument eindeutig sein muss. Benutze statt dessen eine Klasse. Ob das in jQuery trotzdem funktioniert, habe ich nicht getestet.
  2. Im Selektor steht zwischen der ID und dem ":checked" ein Leerzeichen. Dann werden nicht die Inputs mit der ID und gecheckt gesucht sondern jeweils die Nachfahrenelemente, die gecheckt sind.
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren
#3
PS: Wenn Du die Möglichkeiten von Formularen und das zeitgemäße fetch benutzt, kannst Du das Ganze sehr stark vereinfachen. Schleifen über die Checkboxen können dann entfallen.
Hier eine Demo:
Code:
    <form>
        <input type="checkbox" name="cat[]" value="cat1">
        <input type="checkbox" name="cat[]" value="cat2">
        <input type="checkbox" name="cat[]" value="cat3">
        <input type="checkbox" name="cat[]" value="cat4">
        <input type="checkbox" name="ingr[]" value="Pfeffer">
        <input type="checkbox" name="ingr[]" value="Salz">
        <input type="checkbox" name="ingr[]" value="Safran">
        <button type="submit">Abschicken</button>
    </form>
    <span id="out"></span>
    <script>
        document.querySelector('form').addEventListener('submit', event => {
            event.preventDefault();
            fetch('testpost.php', {
                method: 'post',
                // Das folgende erzeugt aus dem Formular ein FormData-Objekt.
                // Im PHP-Skript sind die Werte der Checkboxen dann als
                // Arrays in den betr. POST-Variablen verfügbr.
                body: new FormData(document.querySelector('form'))
            }).then(res => {
                return res.text();
            }).then(res => {
                console.log(res);
                document.getElementById('out').innerHTML = res;
            });
        });
    </script>
Glaube denen, die die Wahrheit suchen, und zweifle an denen, die sie gefunden haben.
(Andrι Gide (1869-1951), frz. Schriftst., 1947 Nobelpreis)
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste