Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Anzahl bestimmter Cookies zählen

  1. #1
    Neuer Benutzer
    Registriert seit
    25.03.2019
    Beiträge
    10

    Anzahl bestimmter Cookies zählen

    Hallo,



    Ich habe meinen Musikschülern mit Hilfe eine Seite geschrieben, wo sie ihre Titel/Noten verwalten können. In jedem Titel gibt es einen Button, diesen in sein Hausaufgabenheft aufzunehmen. Dieses wird über Cookies gemacht und funktioniert.
    Ich möchte, ähnlich einem Warenkorb im Onlineshop, die Hausaufgaben zählen und im Button anzeigen lassen. Der Cookie der erzeugt wird beginnt immer mit HA_ und dann kommt die ID der Seite.
    Das könnte dann HA_488 HA_16 HA_112 sein.
    Diese sollten gezählt werden und im Beispiel 3 im Button ausgegeben werden.
    Meine Hilfe hat leider keine Zeit mehr...Ich benötige Hilfe.
    Bislang habe ich folgendes Schnipsel:

    Code:
    var cookieList = document.cookie;
      cookieList = cookieList.split(";");
    
    
     for (var x = 0; x < cookieList.length; x++) {
        
        
        var item = cookieList[x].trim();
        item=item.split("=");
        var key = item[0];
        var value = item[1];
        
        if (key.substr(0,3) == "HA_") {
          
         alert(key); // hier soll die Anzahl der Cookie die mit HA_ beginnen angezeigt werden
        }
      }
    der Buttoncode zum Hausaufgaben hinzufügen:

    Code:
    <button id="plus_HA" type="button" class="btn btn-default plus_HA" title="fügt den Titel deinen HA zu" onclick="setHA_cookie(this)" data-name="HA_{{$URL.SongID}}" data-size="{{$FORM.HA_Titel}}" data-binding-show="{{(Benutzer.data.query1[0].status =='aktiv')}}"></button>
    Vielen Dank !

  2. #2
    Moderator
    Registriert seit
    04.05.2012
    Beiträge
    2.693
    Du hast jetzt leider nicht beschrieben was genau jetzt nicht geht aber theoretisch brauchst du doch nur eine Zählervariable die halt hochzählt wenn eine Bedingung erfüllt ist:

    Ungefähr so:
    PHP-Code:
    var cookieList document.cookie;
    var 
    count 0// Deine Zählervariable

     
    cookieList cookieList.split(";");


     for (var 
    0cookieList.lengthx++) {
        
        
        var 
    item cookieList[x].trim();
        
    item=item.split("=");
        var 
    key item[0];
        var 
    value item[1];
        
        if (
    key.substr(0,3) == "HA_") {
         ++
    count// + 1 wenn Bedingung erfüllt.
        
    }
      }

      
    alert(count ' Hausaufgaben'); // Beispielausgabe 
    Pakete werden jetzt mit $_DHL geliefert... nicht mehr mit $_POST

  3. #3
    Neuer Benutzer
    Registriert seit
    25.03.2019
    Beiträge
    10
    Danke!
    Ich habe deinen Code in der Console eingegeben - funktioniert.
    Ich muss jetzt erstmal ein wenig probieren.

    Statt der alert Ausgabe soll die var count in dem button ausgegeben werden.
    der button hat die id="plus_HA"

    für:
    alert(count + ' Hausaufgaben'); // Beispielausgabe

    das bringe ich nicht. muss der gesamte code noch in eine function gepackt werden, damit er automatisch ausgeführt wird?

  4. #4
    Moderator
    Registriert seit
    04.05.2012
    Beiträge
    2.693
    Ja, sollte in einer Funktion stehen. für die Ausgabe im button: $('#plus_HA').text(count);
    Pakete werden jetzt mit $_DHL geliefert... nicht mehr mit $_POST

  5. #5
    Neuer Benutzer
    Registriert seit
    25.03.2019
    Beiträge
    10
    habe es jetzt so:
    Code:
    function count_HA {
    
    var cookieList = document.cookie;
    var count = 0; // Deine Zählervariable
    
     cookieList = cookieList.split(";");
    
    
     for (var x = 0; x < cookieList.length; x++) {
        
        
        var item = cookieList[x].trim();
        item=item.split("=");
        var key = item[0];
        var value = item[1];
        
        if (key.substr(0,3) == "HA_") {
         ++count; // + 1 wenn Bedingung erfüllt.
        }
      }
    
     $('#plus_HA').text(count); //ich denke so?
    
    }
    Der button bleibt noch leer?! Alles richtig ?

  6. #6
    Moderator
    Registriert seit
    04.05.2012
    Beiträge
    2.693
    Das hängt davon ab wann du count_HA aufrufst und ob der code vorher funktioniert hatte.
    Pakete werden jetzt mit $_DHL geliefert... nicht mehr mit $_POST

  7. #7
    Neuer Benutzer
    Registriert seit
    25.03.2019
    Beiträge
    10
    Wann sollte ich die Funktion count_HA aufrufen ? Ich habe es am Ende des Dokuments gemacht. Vielleicht geht es mit document.ready ??
    Der code hat mit der alert Ausgabe funktioniert.

  8. #8
    Neuer Benutzer
    Registriert seit
    25.03.2019
    Beiträge
    10
    damit gehts !!! - Danke


    Code:
    $( document ).ready(function() {
      var cookieList = document.cookie;
    var count = 0; // Deine Zählervariable
    
     cookieList = cookieList.split(";");
    
    
     for (var x = 0; x < cookieList.length; x++) {
        
        
        var item = cookieList[x].trim();
        item=item.split("=");
        var key = item[0];
        var value = item[1];
        
        if (key.substr(0,3) == "HA_") {
         ++count; // + 1 wenn Bedingung erfüllt.
        }
      }
    
     $('#plus_HA').text(count + ' Hausaufgaben');
    });

  9. #9
    Neuer Benutzer
    Registriert seit
    25.03.2019
    Beiträge
    10
    doch etwas zu früh gefreut....

    an welcher stelle muss ein else einbauen?

    das script funktioniert:
    Code:
    $( document ).ready(function() {
      var cookieList = document.cookie;
    var count = 0; // Deine Zählervariable
    
     cookieList = cookieList.split(";");
    
    
     for (var x = 0; x < cookieList.length; x++) {
        
        
        var item = cookieList[x].trim();
        item=item.split("=");
        var key = item[0];
        var value = item[1];
        
        if (key.substr(0,3) == "HA_") {
         ++count; // + 1 wenn Bedingung erfüllt.
    
    		
        }
    	}
    		
    $('#HAbutton').html('<i class="fas fa-book-open " ></i>'+'<sup> '+ count+'</sup>');
    $("#HAbutton").attr('class', 'btn btn-success');
     
    });
    soll erweitert werden um: wo?
    funktioniert an keiner Stelle?
    Code:
    else {
    		 
    $('#HAbutton').html('<i class="fas fa-book-open"></i>');
    $("#plus_HA").attr('class', 'btn btn-default');
    		 
    		 
    	 }
    Vielen Dank!

    so sieht es aus...
    songbook.png

  10. #10
    Neuer Benutzer
    Registriert seit
    25.03.2019
    Beiträge
    10
    Ich hatte einen Denkfehler. Ich dachte, ich kann die vorhandene Bedingung benutzen, dabei musste ich eine neure definieren.Hier das fehlerfreie Script. Vielleicht hilft es ja jemanden...

    Code:
    $( document ).ready(function() {
      var cookieList = document.cookie;
    var count = 0; // Deine Zählervariable
    
     cookieList = cookieList.split(";");
    
    
     for (var x = 0; x < cookieList.length; x++) {
        
        
        var item = cookieList[x].trim();
        item=item.split("=");
        var key = item[0];
        var value = item[1];
        
        if (key.substr(0,3) == "HA_") {
         ++count; // + 1 wenn Bedingung erfüllt.
    
    		
        }
    		}
    		
    		if(count>0) {
    			$('#HAbutton').html('<i class="fas fa-book-open " ></i>'+'<sup> '+ count+'</sup>');
    $("#HAbutton").attr('class', 'btn btn-active');
    			
    		}
    		
    else {
    		 
    $('#HAbutton').html('<i class="fas fa-book-open"></i>');
    $("#plus_HA").attr('class', 'btn btn-default');
    		 
    		 
    	 }
     
    });

Seite 1 von 2 12 LetzteLetzte

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •