js implementiert ein einfaches Warenkorbmodul

js implementiert ein einfaches Warenkorbmodul

In diesem Artikelbeispiel wird der spezifische Code von js zur Implementierung eines einfachen Warenkorbmoduls zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Hauptmerkmale

  • Eingabefeld reguläres Urteil, zweistellige Dezimalzahl, kann mit 0 beginnen
  • Bei gleichen Produktnamen wird die Menge automatisch um 1 erhöht. Bei gleichen Namen aber unterschiedlichen Preisen gilt der neuste Preis (es liegt ein Bug vor und mehrere Produkte können nicht bedient werden. Das Programm ist verwirrend und wird später noch geändert)
  • Wählen Sie ein Produkt aus oder erhöhen bzw. verringern Sie die Menge. Preis und Menge in der unteren rechten Ecke werden automatisch aktualisiert.
  • Die abgerechnete Ware verschwindet automatisch

Quellcode:

1.html

<Text>
      <div id="Kopf" align="center">
        <form>
          <span class="font1">Name:</span><input type="text" id="name">
          <span class="font1">Stückpreis:</span><input type="text" id="price">
          <input id="add1" type="button" value="Hinzufügen">
          <input id="pay1" type="button" value="Zur Kasse">
          <input id="set1" type="reset" value="Zurücksetzen">
        </form>
      </div>
      <div>
        <table border="1" id="t" >
          <Kopf>
          <tr align="center">
            <td><input type="checkbox" style='cursor: pointer'></td>
            <td>Produktname</td>
            <td>Preis</td>
            <td>Menge</td>
            <td>Betrieb</td>
          </tr>
          </thead>
          <tbody>

          </tbody>
        </Tabelle>
      </div>
      <div align="right" id="b">
        <span>Gesamtpreis:</span>
        <span id="Gesamt" style="color: red">0</span>&nbsp;
        <span>Produktmenge:</span>
        <span id="Gesamtzahl" style="Farbe: rot">0</span>
      </div>
</body>

2.css

 <Stil>
        Körper{
          Hintergrundfarbe: Koralle;
        }
        #Kopf{
          Rand: 30px automatisch 10px automatisch;
        }
        #Name,#Preis{
          Hintergrundfarbe: Aquamarin;
        }
        #add1,#pay1,#set1{
          Farbe: rot;
          Schriftstärke: fett;
          Hintergrundfarbe: Gold;
          Cursor: Zeiger;
        }
        .font1{
          Schriftstärke: fett;
          Schriftgröße: groß;
        }

        #t,#b{
          Rahmen-Zusammenbruch: Zusammenbruch;
          Rand: 30px automatisch;
          Breite: 600px;
        }
        #t thead{
          Rand: 3px massives Gold;
          Farbe: weiß;
          Hintergrundfarbe: blau;
        }
        #t tbody{
          Farbe: #1414bf;
          Hintergrundfarbe: weiß;
        }
</Stil>

js-Teil

<script src="../lib/jquery-3.3.1.js"></script>
  <Skript>
    //Button-Funktion initialisieren initButton(){
      $("Eingabe[name=j1]").aus();
      $("Eingabe[name=x1]").aus();
      //Menge hinzufügen-Button $("input[name=j1]").on("click", function (){
             var num = parseInt($(this).prev().val());
        wenn (Zahl > 1){
          $(this).prev().prev().attr("deaktiviert",false);
        }
        wenn (Zahl > 9){
          $(this).attr("deaktiviert","deaktiviert");
          zurückkehren;
        }
             Zahl++;
             wenn (Zahl > 1){
               $(this).prev().prev().attr("deaktiviert",false);
             }
             wenn (Zahl > 9){
               $(this).attr("deaktiviert","deaktiviert");
             }
             $(diese).prev().val(num);
        $("#Total").text(cal());
        $("#TotalNum").text(calNum());
           }
      )
      //Menge verringern-Schaltfläche$($("input[name=x1]")).click(function (){
        var num = parseInt($(this).next().val());
        wenn (Zahl-1 < 10){
          $("#add1").prop("deaktiviert",false);
        }
        Nummer--;
        wenn (Zahl < 10){
          $(this).next().next().prop("deaktiviert",false);
        }
        wenn (num == 1){
          $(this).prop("deaktiviert","deaktiviert");
        }
        $(diese).nächste().val(num);
        $("#Total").text(cal());
        $("#TotalNum").text(calNum());
      });
    }
// Löschfunktion initialisieren initdelete(){
      $(".delete").on("klicken",function (){
        $(dies).parent().parent().entfernen();
        $("#Total").text(cal());
        $("#TotalNum").text(calNum());
      });
    }
//Alles auswählen oder Auswahl aller Funktionen aufheben$("thead input[type=checkbox]").on("click",function (){
     $("tbody Eingabe[Typ=Kontrollkästchen]").each(Funktion (Index,Element){
       $(this).prop("aktiviert",$("thead input[type=checkbox]").prop("aktiviert"));
       $("#Total").text(cal());
       $("#TotalNum").text(calNum());
     });
   })

    // Initialisiere jede Checkbox-Funktion initCheckBox(){
      $("tbody Eingabe[Typ=Kontrollkästchen]").aus();
      $("tbody input[type=checkbox]").on("ändern",function (){
        $("#Total").text(cal());
        $("#TotalNum").text(calNum());
      });
    }
    //Berechnen Sie den Gesamtpreis Funktion cal(){
      var Preis = null;
      $("tbody input[type=checkbox]:checked").each(function (){
        var priceByOne = parseFloat($(this).parent().next().next().text());
        var num = parseFloat($(this).parent().next().next().next().find("input[name='num']").val());
        var totalMoneyByOne = priceByOne * num;
        Preis + = Gesamtgeld von einem;
      });
      Rücksendepreis;
    }
    //Gesamtzahl berechnen Funktion calNum(){
      var totalNum = null;
      $("tbody input[type=checkbox]:checked").each(function (){
        var num = parseInt($(this).parent().next().next().next().find("input[name='num']").val());
        Gesamtzahl+=Zahl;
      });
      Gesamtzahl zurückgeben;
    }


    //Abrechnung$("#pay1").on("click",function (){

      alert("Gesamtverbrauch: "+cal());
      $("thead input[type=checkbox]:checked").prop("checked",false);
      $("tbody Eingabe[Typ=Kontrollkästchen]:aktiviert").parent().parent().entfernen();


    });

    //Hinzufügen$("#add1").on("click",function (){
      var name = $("#name").val();
      var Preis = $("#Preis").val();
      var PreisZ = /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/
      wenn ((Name == "" || Preis == "") || (!priceZ.test(Preis)) ){
        alert("Eingabefehler!");
      }anders {
        var GameArr = [];
        var flag = falsch;
        var Wiederholung = null;
        //Holen Sie sich das Namensarray $("tbody").each(function (){
            var findet = $(this).find(".goodsName");
            für (lass i = 0; i < findet.Länge; i++) {
              GameArr.push(findet.eq(i).text());
          }
        });
        für (lass i = 0; i < GameArr.length; i++) {
          wenn (Name == GameArr[i]) {
            wiederholen = i;
            Flagge = wahr;
            brechen;
          }}
        //Wenn ein gleicher Name vorhanden ist, ändere die Menge und den Preis, wenn (flag == true){
          var totalNum = parseInt($("tbody:eq(" + repeat + ")").find("input[name='num']").val())+1;
          wenn (Gesamtzahl > 9){
            $(this).attr("deaktiviert","deaktiviert");
          }
          $("tbody:eq(" + repeat + ")").find("input[name='num']").val(totalNum);
          $("tbody:eq(" + repeat + ")").find(".goodsPrice").text(Preis);
          //Ansonsten verkette die Tabellen}else {
        var Waren = "<tr>"+
             "<td><input type='checkbox' style='cursor: pointer'></td>"+
             "<td class='Warenname'>"+Name+"</td>"+
             "<td class='goodsPrice'>"+Preis+"</td>"+
             "<td>"+
             "<Eingabetyp='Schaltfläche' Wert='-' Name='x1' Stil='Cursor: Zeiger'>&nbsp;"+
             "<Eingabetyp='Text' Wert='1' Name='Nummer'>&nbsp;"+
             „<Eingabetyp='Schaltfläche' Wert='+' Name='j1' Stil='Cursor: Zeiger'>“
             +"</td>"+
             '<td><a href="" class=" rel="external nofollow" delete" style="color:red">Löschen</a></td>' +
             "</tr>"
        $("tbody").anhängen(Waren);
        //Nach jedem Hinzufügen das Ereignis binden initButton();
        initdelete();
        initCheckBox();
      }}
    });
</Skript>

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Funktionsprinzips und der Lösung der Js-Modularisierung
  • Was sind die Kernmodule von node.js
  • Verwendung des Node.js-HTTP-Moduls
  • Detaillierte Erklärung des Unterschieds zwischen Exporten und module.exports in nodejs
  • Detaillierte Erklärung des Unterschieds zwischen Module.exports und Exporten in Sea.js
  • Der Unterschied zwischen module.exports und exports in node.js
  • Detaillierte Einführung in den Unterschied zwischen Exporten und module.exports in nodejs
  • Spezifische Verwendung von require.js für erweiterte JavaScript-Modularisierung
  • Detaillierte Erklärung des offiziellen Tutorials von RequireJs
  • Verwendung und Unterschied von Js-Modulverpackungsexporten erfordern Import

<<:  Centos7.3 So installieren und implementieren Sie Nginx und konfigurieren https

>>:  So nummerieren Sie die Ergebnisse von MySQL-Abfragedaten automatisch

Artikel empfehlen

JS Leicht verständliche Funktion und Konstruktor

Inhaltsverzeichnis 1. Übersicht 1.1 Erstellen ein...

Analyse impliziter Fehler bei der gleichzeitigen Replikation von MySQL 5.7

Vorwort Die meisten unserer MySQL-Onlineumgebunge...

So implementieren Sie https mit Nginx und OpenSSL

Wenn die Serverdaten nicht verschlüsselt und mit ...

Preistabelle mit CSS3 implementiert

Ergebnis: Implementierungscode html <div id=&q...

Nginx-Server fügt benutzerdefinierte Systemd-Dienstprozessanalyse hinzu

1. Nehmen Sie nginx als Beispiel Nginx mit dem Be...

7 coole dynamische Website-Designs zur Inspiration

Im Bereich Design gibt es jedes Jahr unterschiedl...

React implementiert doppelten Schieberegler zum Querschieben

In diesem Artikel wird der spezifische Code für R...

Der Fallstrickrekord des Gummi-Rebound-Effekts der iOS WeChat H5-Seite

Geschäftliche Anforderungen Eines der Projekte, d...

So passen Sie die Textgröße im Webdesign an: Kleiner Text, großes Erlebnis

Mit der Verbreitung mobiler Endgeräte wie dem iPa...