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

Bidirektionale verknüpfte Liste der JavaScript-Datenstruktur

Eine einfach verkettete Liste kann nur vom Anfang...

Linux-Befehl „exa“ (bessere Dateianzeige als „ls“)

Installieren Befolgen Sie zur Installation die RE...

Detaillierte Erläuterung der Kubernetes-Pod-Orchestrierung und des Lebenszyklus

Inhaltsverzeichnis K8S Master Grundlegende Archit...

Detaillierte Erklärung des Marquee-Attributs in HTML

Dieses Tag ist nicht Teil von HTML3.2 und wird nu...

JS implementiert die zufällige Generierung von Bestätigungscodes

In diesem Artikelbeispiel wird der spezifische JS...

Lösung zum Vergessen des Administratorkennworts der MySQL-Datenbank

1. Geben Sie den Befehl mysqld --skip-grant-table...

Detaillierte Erklärung des Vue2 Cube-UI-Zeitwählers

Inhaltsverzeichnis Vorwort 1. Anspruch und Wirkun...

Ubuntu 16.04 Installations-Tutorial unter VMware 12

In diesem Artikel finden Sie das Installations-Tu...

Vue + Element UI realisiert Ankerpositionierung

In diesem Artikelbeispiel wird der spezifische Co...

Verschachtelte Verwendungsoperation für MySQL-Aggregatfunktionen

Zweck: Verschachtelte Verwendung von MySQL-Aggreg...

9 Möglichkeiten zum Ein- und Ausblenden von CSS-Elementen

Bei der Erstellung von Webseiten ist das Anzeigen...

Zwei Möglichkeiten, die CSS-Priorität zu verstehen

Methode 1: Werte hinzufügen Gehen wir zu MDN, um ...