2017-05-31 1 views
0

Ich fand schließlich eine Möglichkeit, zu einem versteckten Feld basierend auf Benutzereingaben in dynamische Textfelder hinzuzufügen.Jquery zählt und bedingte Anweisung und dann Wert zurücksetzen

Das Problem ist mit meinem Skript - wie Sie sehen können, wird es alle Textfelder auf der Seite greifen.

Ich möchte jede Textbox mit Ausnahme der ersten. Daher muss ich Logik haben, dass, wenn eine bestimmte Bedingung erfüllt ist, dann den Wert des Textfelds verbinden. Wenn nicht, nicht beitreten.

Ich dachte an so etwas wie:

var thenumber = 0 

if (thenumber == 0) { 
    do nothing; 
} else { 
    join the value; 
    make the number increase by + 1 
} 

Der Code I haben wie folgt:

$(function() { 
    $("#shineon").click(function(event) { 
    var data = []; 
    var form = $("form :input[type=text]"); 
    $.each(form, function(e, textBox) { 
     data.push($.trim(textBox.value)); 
    }); 
    $("#mybond").val(data.join(" ")); 
    }); 
}); 

Ich bin nicht sicher, wie dies zu tun - kann jemand helfen?

+0

will ich jedes Textfeld mit Ausnahme des ersten ..... var form = $ ("form: input [type = text]: nicht (: first)") –

+0

Ihr Code läuft, wenn die Seite zum ersten Mal geladen wird, bevor der Benutzer irgendeine Eingabe eingeben kann. Wie kann dies alles auf der Grundlage von Benutzereingaben tun? – Barmar

+0

Ich bin mir nicht sicher, welches Problem Sie haben. Legen Sie einfach ein 'if()' um den 'data.push()' Aufruf. – Barmar

Antwort

0

können Sie einen Selektor verwenden, die das erste Spiel überspringt:

$("form :input[type=text]:not(:first)").each(...) 

oder Sie können einfach e testen, die den Index enthält:

$.each(form, function(e, textBox) { 
    if (e > 0) { 
    data.push($.trim(textBox.value)); 
    } 
}); 
+0

Danke. Das hat es getan. – ForeverDita

Verwandte Themen