CGMAX
Neues Mitglied
Ich suche nach einer Möglichkeit Jedes einzelne Feld für sich zu löschen und dachte da an eine foreach-schleife leider funktioniert die schleife nicht richtig und beim löschen bekomme ich für i immer 2 raus. ich glaube, dass der die schleife nur am Anfang durchläuft und so Probleme aufkommen. Ich hoffe ihr habt eine Lösung oder eine bessere Idee.
PHP:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<title> Felderstellung </title>
</head><body>
<fieldset id="test1" style="width:300px;">
<table cellspacing="2" cellpadding="2" >
<legend>Test 1 <button id="loeschen1"> Feld löschen</button> </legend>
<tr >
<td>Name:</td><td><input type="text" name="name1"/></td>
</tr>
<tr>
<td valign="top">Text:</td><td><textarea name="text1" style="resize: none;" rows="4"cols="28"></textarea></td>
</tr>
</table>
</fieldset>
<hr>
<button id="erstellen">erstellen</button>
<script type="text/javascript">
var z = 1;
var i = 1;
var grenze = 10;
var xarray = ['1'];
$(document).ready(function(){
$("#erstellen").click(function(){
if( z < grenze){
z++;
xarray = xarray.concat(z);
$('\n\
<fieldset id="test'+z+'" style="width:300px;">\n\
<legend>Test ' +z+' <button id="loeschen'+z+'">Feld löschen</button></legend>\n\
<table>\n\
<tr>\n\
<td>Name:</td>\n\
<td><input type="text" name="name'+z+'"/></td>\n\
</tr>\n\
<tr>\n\
<td valign="top">Text:</td>\n\
<td><textarea name="text'+z+'" style="resize: none;" rows="4"cols="28"></textarea></td>\n\
</tr>\n\
</table>\n\
</fieldset>').insertBefore("hr");
length = xarray.length;
alert ('Z beträgt: '+z+' Array: '+xarray+ ' Elemente: '+length);
} else{
alert ('Sie können keine weiteren Felder erstellen');
} }); });
$(document).ready(function(){ for( var i in xarray ) {
$("#loeschen"+xarray [i] ).click(function(){
if( z >= 2){
$("#test"+xarray [i] ).remove();
z--;
xarray.pop();
length = xarray.length;
alert ('Z beträgt: '+z+' Array: '+xarray+ ' Elemente: '+length+' '+xarray [i]);
} else{
alert ('Sie können keine weiteren Felder löschen');
} });} });
</script>
</body>
</html>