Ankündigung

Einklappen
Keine Ankündigung bisher.

Jquery Input Value auf Muster anwenden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Jquery Input Value auf Muster anwenden

    Hallo

    Ich versuche eine Eingabe auf ein Muster anzuwenden. Habe aber keinen Ansatz, wie ich das machen könnte.

    Das Muster ist z.B.
    0.00 €

    Wenn ich jetzt in das Feld "1" schreibe, soll daraus 0.01 € werden.
    Bei 10095 soll daraus 100.95 € werden.

    Ich glaube bei PayPal sowas gesehen zu haben. Man fängt an zu tippen und der Betrag "wächst" automatisch.
    Hoffe jemand kann mir mit einem Ansatz helfen. Danke
    Der Unterschied zwischen dem richtigen Wort und dem beinahe richtigen ist derselbe Unterschied wie zwischen dem Blitz und einem Glühwürmchen.

  • #2
    füge den . vor der zweitletzten Stelle im Output ein.

    Kommentar


    • #3
      http://www.decorplanit.com/plugin/
      [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

      Kommentar


      • #4
        PHP-Code:
        <!DOCTYPE HTML>
        <
        html>
        <
        head>
        <
        title>Input nach Eingabe formatieren</title>
        <
        style type="text/css">
        <!--
        .
        preisfeld{
         
        text-alignright;
        }
        -->
        </
        style>
        <
        script src="jquery-1.10.1.js" type="text/javascript"></script>
        <script type="text/javascript">
        <!--
        var preisfeld = "";
        function edit(content){
         /*
         * Die Funktion indexOf sucht im content nach dem Dezimalpunkt
         * Ist kein Punkt vorhanden, ist nks (keine Nachkommastellen) -1
         */
         var nks = content.indexOf(".");
         /*
         * Ist ein Dezimalpunkt vorhanden, bekommt nks die Länge der Nachkommastellen zugewiesen
         */
         if(content.indexOf(".") > -1){
          nks = content.substr(content.indexOf(".")+1).length;
         }
         switch(true){
          case(nks == -1): content /= 100;break;
         case(nks == 1): content /= 10;break;
         case(nks > 2): content *= 10;break;
         }
         /*
         * In Var preisfeld (s.o.) wird der neue Wert abgelegt
         */
         preisfeld = content.toFixed(2);
         /*
         * Im Preisfeld-Input wird der neue Wert abgelegt
         */
         $("#preis").val(content.toFixed(2));
        }

        $(document).ready(function(){
         $("#preis").focus();
         $("#preis").keyup(function(event){
          /*
         * Zum Ermitteln des Tastaturcodes die Kommentarzeichen der folg. 2 Zeilen entfernen
         */
          //alert(event.keyCode);
         //return;
         var content = $("#preis").val();
         switch(true){
          /*
          * Beim Drücken der Lösch- oder Entfernentaste erfolgt der Funktionsaufruf
          */
          case (event.keyCode == 8 || event.keyCode == 46): edit(content);break;
          /*
          * Eingabe einer Zahl über die oberen Zahlentasten
          */
          case (event.keyCode >= 48 && event.keyCode <= 57): edit(content);break;
          /*
          * Eingabe einer Zahl über den Ziffernblock
          */
          case (event.keyCode >= 96 && event.keyCode <= 105): edit(content);break;
          /*
          * Um das Setzen des Cursors innerhalb des Preisfelds zu erlauben,
          * Kommentarzeichen der folg. Zeile entfernen
          */
          //case (event.keyCode >= 37 && event.keyCode <= 40): break;
          /*
          * Drückt man eine Taste ausser den oben erlaubten,
          * bekommt das Preisfeld-Input den Wert der Variablen preisfeld zugewiesen
          */
          default: $("#preis").val(preisfeld);
         }
         });
        });
        // -->
        </script>
        </head>
        <body>
        <form action="" method="post">
        <p><input type="text" id="preis" class="preisfeld"/></p>
        </form>
        </body>
        </html> 

        Kommentar

        Lädt...
        X