Variable ID - jQuery Mask Plugin

  • Hallo,


    nun stehe ich erneut vor einem Problem. ^^


    Die Seite ist die Selbe wie im Beitrag davor. Nun möchte ich dass die neu hinzugefügten Textfelder mit dem jQuery Mask Plugin maskiert werden.
    Ich habe es soweit hinbekommen, das ich variable Masken erstelle:



    Diese kann ich mir auch problemlos ausgeben lassen. Jetzt zu meinem Problem. Ist es möglich, dass ich, für das Eingabefeld, dass maskiert werden soll, eine Variable verwende?


    JavaScript
    $(function($){ 
    $('Hier soll eine Variable-ID stehen').mask(legungsMaske,{placeholder:" "}); 
    });


    Ich hab schon etliche Kombinationen versucht, aber nichts funktioniert. Hatte schonmal jemand ein ähnliches Problem und weiß eine Lösung oder ein gutes Work-Arround?


    Vielen Dank schonmal! :)

  • Wenn du uns noch verrätst auf welchen Ebenen die beiden Codes ausgeführt werden (Global, in einer Funktion, etc.) dann ist die Hilfe etwas einfacher möglich. Es erschließt sich nicht besonders gut wie die beiden Codes in Zusammenhang stehen.

  • Tut mir Leid, manchmal ist es Recht schwer nachzudenken, und zu merken, dass alle anderen ja nicht die Datei vor den Augen haben^^



    Ich habe einen Button im Formular der der diese Funktion mit dem Übergabewert 0 aufruft. Dann werden ein paar weitere Eingabefelder erneut in die Tabelle eingefügt. Immer wenn der Focus auf bestimmte Input-Felder kommt, wird der die Funktion mit der entsprechenden Nummerierung aufgerufen. Also beim zweiten entsprechenden Input-Feld dann mit dem Übergabewert 1. Ich hoffe das ist soweit verständlich.


    Jetzt hätte ich auch noch gerne, dass diese Felder maskiert werden. Wie sie maskiert werden, habe ich, wie oben zu sehen, schon hinbekommen. Aber leider weiß ich jetzt nicht ("#legungName") dynamisch verändern kann. Eine variable ist dort ja nicht erlaubt. Wenn ich statisch z.B.: ("#legung_1") festlege funktioniert es für dieses Feld.

  • Das war auch meine erste Überlegung, leider funktioniert es nicht.

    JavaScript
    $(function($){
    $(legungName).mask(legungsMaske,{placeholder:" "});
    });


    Wenn ich das so schreibe, wird das Eingabefeld leider nicht maskiert.


    Edit: mal die zwei Variablen legungsName und legungName. mal zu einer zusammen gefasst^^

  • Ich glaube mein Gehirn ist am Ende :P Ich steh immer noch auf dem Schlauch, tut mir leid.

    JavaScript
    $(function(legungname){
    	$(legungName).mask(legungsMaske,{placeholder:" "});
    });


    So, oder habe ich was vergessen?

  • Groß/Kleinschreibung beachten bei Variablen :)


    JavaScript
    $(function(legungName, legungsMaske){
      $(legungName).mask(legungsMaske,{placeholder:" "});
      console.log(legungName);
      consoloe.log(legungsMaske);
    });
  • Vielen Dank für deine Hilfe. Für mich ist es jetzt echt zu spät.
    Ich hab deine Tipp jetzt soweit übernommen, aber jetzt meldet er einen Fehler: TypeError: input.data(...) is not a function in der jquery.maskedinput.js in Zeile 79.
    Die Datei ist hier zu finden, an dieser habe ich bis jetzt nichts geändert.


    Als Einsteiger in dieses Thema ist das mir jetzt sehr komplex :/

  • Leider kenne ich mich mit der Erweiterung absolut nicht aus und habe gerade auch keine Zeit mir das durchzulesen, werde ich bei Gelegenheit tun und dann entsprechend antworten wenn sich auch sonst niemand auskennt.

  • Leider kenne ich mich mit der Erweiterung absolut nicht aus und habe gerade auch keine Zeit mir das durchzulesen, werde ich bei Gelegenheit tun und dann entsprechend antworten wenn sich auch sonst niemand auskennt.


    Ja klar, das du das für mich machst, hatte ich auch nicht erwartet ;)


    Heute morgen frisch, habe ich nun auch endlich die Lösung gefunden! Der Fehler war, dass ich hier:


    JavaScript
    $(function(){ 
    $(legungName).mask(legungsMaske,{placeholder:" "}); 
    });


    zwar die richtige ID des Inputfeldes mit übergeben, aber natürlich wenn ich eine ID verwende ja "#" vor der ID stehen muss, damit klar ist, was ich ansprechen will. Wenn ich das so anstelle:



    funktioniert es einwandfrei! Vielen Dank für die Hilfe :)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!