Ergebnis 1 bis 8 von 8
  1. #1
    löffel ist offline Grünschnabel
    registriert
    11-08-2016
    Beiträge
    3

    Elegantere Version dieses Codes

    Hi,

    Ich versuche gerade eine elegantere Lösung für folgenden Code zu finden. Leider beschränken sich meine JS Kenntnisse auf ein Minimum.

    Ich habe einige Variablen, nach folgendem Muster:

    HTML-Code:
            var var1 = document.getElementById("element:1");
            var var2 = document.getElementById("element:2");
    Danach verwende ich für jede Variable diesen Code, heißt bei 20 Variablen benötige ich diesen Code 20 mal:

    HTML-Code:
            jQuery(document).ready(function($){
                $(var1).observe("change", function(e){
                    Validation.validate($(var1));
                    $j(var1).parent().append("<i class='fa fa-2x fa-check-circle-o'></i>");
                });
            });
    Alternativ könnte ich die input Felder auch so finden:
    var fields = document.getElementsByTagName("input");

    Wäre es dann nicht möglich, den jQuery Code in einem for Loop laufen zu lassen?

    Vielen Dank im Voraus!
    Geändert von mikdoe (11-08-2016 um 13:02 Uhr) Grund: Code Tags

  2. #2
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.311

    AW: Elegantere Version dieses Codes

    Code:
    $('input').observe(...)
    und im Handler dann mit this weiterarbeiten.

  3. #3
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.760

    AW: Elegantere Version dieses Codes

    NB: Doppelpunkte in IDs sind keine gute Idee. Macht die Ansprache mit CSS viel schwieriger.

    - - - Aktualisiert - - -

    PS: aber soll da wirklich bei jedem change-Event ein <i> angehängt werden - das werden dann ja immer mehr...

  4. #4
    löffel ist offline Grünschnabel
    registriert
    11-08-2016
    Beiträge
    3

    AW: Elegantere Version dieses Codes

    Eben damit nicht bei jedem Div ein i angehäng wird, hab ich Validation.validate(); extra für jede Variable angegeben. Mit "this" bekomme ichs nicht hin...

  5. #5
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.311

    AW: Elegantere Version dieses Codes

    Zitat Zitat von löffel Beitrag anzeigen
    Eben damit nicht bei jedem Div ein i angehäng wird, hab ich Validation.validate();
    ich seh da keinen Zusammenhang ...

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.760

    AW: Elegantere Version dieses Codes

    Zitat Zitat von löffel Beitrag anzeigen
    Eben damit nicht bei jedem Div ein i angehäng wird, hab ich Validation.validate(); extra für jede Variable angegeben.
    Das hat das denn mit dem validate() zu tun? Jedes mal, wenn das change-Event feuert wird ein <i> erzeugt... komplett unabhängig von der Validierung.
    Zitat Zitat von löffel Beitrag anzeigen
    Mit "this" bekomme ichs nicht hin...
    Was hast du denn probiert?

  7. #7
    löffel ist offline Grünschnabel
    registriert
    11-08-2016
    Beiträge
    3

    AW: Elegantere Version dieses Codes

    Das hat das denn mit dem validate() zu tun? Jedes mal, wenn das change-Event feuert wird ein <i> erzeugt... komplett unabhängig von der Validierung.
    Ja und genau aus diesem Grund geb ich das change event doch für jede Variable extra an. Damit eben nicht bei irgend einem change das <i> angehängt wird. Ich kenn mich leider zu wenig aus um es besser zu erklären, jedoch funktionert mein Code wie er soll und hängt das <i> nur da an wo es hingehört und das nur einmal. Ich hatte lediglich nach einer schöneren Version meines Codes gesucht - funktionieren tut meiner ja.

  8. #8
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.760

    AW: Elegantere Version dieses Codes

    Zitat Zitat von löffel Beitrag anzeigen
    Ja und genau aus diesem Grund geb ich das change event doch für jede Variable extra an.
    Das hilft aber nicht, wenn eine "Variable" zweimal geändert wird...
    ... und wenn du mit this arbeitest, brauchst du es gar nicht für jedes extra anzugeben.

    Zitat Zitat von löffel Beitrag anzeigen
    funktionieren tut meiner ja.
    Aber nicht immer so, wie du es gerne hättest.

Ähnliche Themen

  1. Elegantere Script-Lösung für XMLHttpRequest
    Von gigix im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 01-04-2011, 00:28
  2. Erklärung eines Codes.
    Von alexalexxx im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 28-07-2009, 09:53
  3. BB-Codes ersetzen
    Von schwerminator im Forum Serverseitige Programmierung
    Antworten: 10
    Letzter Beitrag: 11-11-2004, 16:20
  4. highlight_string und UBB - CODES
    Von Ronny24 im Forum Serverseitige Programmierung
    Antworten: 7
    Letzter Beitrag: 14-07-2002, 20:22

Lesezeichen

Berechtigungen

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