[jQuery] Funktionsaufruf

Dustin84

Erfahrenes Mitglied
Hallo,

ich habe ein Problem mit einen Funktionsaufruf.

Die REMOVE Funktion wird nach dem Klick auf den Link
Code:
<a class="delete" title="Artikel entfernen"></a>
nicht aufgerufen.
Wie kann das sein? Wird das neu hinzugefügte HTMl noch nicht erkannt?

Code:
$(document).ready(function() {

	/* FORM ADD ELEMENT */ 
	var i = 2;
	$('a.addele').click(function() {
		$('<div class="rowElem tblartikel"><input size="40" type="text" id="Anzahl'+i+'" name="Anzahl'+i+'" /><input size="120" type="text" id="ISBN'+i+'" name="ISBN'+i+'" /><input size="270" type="text" id="Titel'+i+'" name="Titel'+i+'" /><input size="120" type="text" id="Verlag'+i+'" name="Verlag'+i+'" /><input size="80" type="text" id="Einzelpreis'+i+'" name="Einzelpreis'+i+'" /><input size="80" type="text" id="Gesamtpreis'+i+'" name="Gesamtpreis'+i+'" /><a class="delete" title="Artikel entfernen"></a></div>')
			.appendTo('form .addcontainer') // Diesem Container Elemente hinzufügen...
			.find('input') // ...und Inputs finden...
			.jqTransInputText(); // ...und Textfeld transformieren
			i++;
	}); 
	/* FORM REMOVE ELEMENT */ 
	$('a.delete').click(function() {
		alert("Delete now");
		$('div.tblartikel:last').remove(); //remove the last input  
		i--; //deduct 1 from i so if i = 3, after i--, i will be i = 2  
	}); 

});

gruß
D.
 
Die .live() Funktion hierbei ist dein helfer.
Wenn Content durch JS/AJAX dem DOM zugefügt wird, ist dieser nicht verfügbar. Deshalb gibts die .live() Funktion:
Code:
$('a.delete').live('click',function() {
        alert("Delete now");
        $('div.tblartikel:last').remove(); //remove the last input  
        i--; //deduct 1 from i so if i = 3, after i--, i will be i = 2  
    });
 

Neue Beiträge

Zurück