• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[JS]Bestimmte anzahl von inputs dynamisch generieren

Status
Für weitere Antworten geschlossen.

philipp

Neues Mitglied
ich weiss nicht, ob ich hier schonmal deswegen nachgefragt habe... es geht darum, dass ich eure hilfe bei einem script brauche. ich kann javascript einfach nicht leiden und werds wohl nie verstehen (is nicht so, als hätt ichs nie versucht).

es soll sowas sein:

pseudocode
Code:
<select>
<option>2</option> -> selected
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</selec>

<input text>antwort1</input>
<input text>antwort2</input>

funktion:

wenn ich den wert von select ändere dann sollen unten die neuen inputs hinzugefügt, bzw welche gelöscht werden. wenn ich also 4 nehme, dann sollen 4 inputs erzeugt werden. am besten wär natürlich, wenn sich die 2 von davor nicht ändern würden.

das würde ich gerne clientseitig berechnen lassen, mit PHP wärs kein problem für mich, aber das würde alles langsamer machen...

kann mir da wer helfen?
 
Werbung:
input ist noch so wie textarea sondern in input musst du das attribut value nehmen um den inhalt zu bestimmen

Bastian
 
hast du es überhaupt gelesen?

darum gehts nicht, das is ja ned mein problem. hab schon millionen solcher inputs verwendet und weiss wie es geht. aber danke trotzdem ^^
 
Werbung:
hmm...du könnest das ganze vielleicht mit stylesheet verstecken (display)
 
Alle 7 inputfelder bereits normal da hinzuuegen. Dann machste einen Array, in dem alls IDs von jedem Input sind.
PHP:
var inputs = new Array('erster','zweier','dritter','...');

Dann machste in den Select-Tag ein onchange rein, welches eine Funktion aufruft. Diese Funktion startet 2 for-Schleifen.

PHP:
var menge = document.getElementById('select_tag').options[document.getElementById('select_tag').selectedIndex].value;
//                       ^^^^^^^^^^---Entsprechende ID des Select-tags eingeben
for(a = 0 ; a < menge ; a++){
document.getElementById(inputs[a]).style.display = 'block';
}
for(b = menge ; b < inputs.length ; b++){
document.getElementById(inputs[b]).style.display = 'none';
}
Kann sein, dass du da <= oder sowas in der Richtung angeben musst,a ber so in der Art sollte das aussehen.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben