Wirklich einfache Frage hier, tötet mich zu fragen. Ich kann es einfach nicht reparieren.jQuery - Button klicken funktioniert nicht
In einem Ajax-Aufruf möchte ich eine Liste von Elementen anzeigen. Jeder Gegenstand wird einen Knopf haben.
Also habe ich dieses div in meinem HTML:
<div id="calendar">
<div id="activity_wrapper">
<h4 class="activity-name"></h4>
<p class="activity_start"></p>
<p class="activity_end"></p>
<a class="start" id="start">Start Activity</a>
<a class="finish">Complete Activity</a>
<button id="delete-activity-button" class="delete" value="">Delete</button>
<button id="modify-activity-button" class="modify" value="">Edit</button>
</div>
</div>
Jetzt in jQuery mit Ajax erstelle ich die Liste wie folgt:
$.each(data, function (index, activity) {
var newActivity = activityDiv.clone();
var startTime = new Date(activity.startDateTime);
var endTime = new Date(activity.endDateTime);
newActivity.find(".activity-name").text(activity.name);
newActivity.find(".activity_start").text(startTime);
newActivity.find(".activity_end").text(endTime);
newActivity.find(".delete").val(activity.id);
calendar.append(newActivity);
});
Dann endlich habe ich diese Onclick:
$('.delete').click(function(e) {
var selected = $(this).attr('class') || $(this).attr('id');
var id = selected.val();
alert(id);
});
Der Klick wird nicht registriert. Was mache ich falsch? Ich glaube, es liegt an der Art, wie ich die Aktivitätsklasse klone.
Danke.
Versuchen Sie, die '$ Entfernen (this) .attr ('Klasse')' Ich vermute, Sie sind eine Klasse bekommen und das muss kein 'value' nicht wahr? – Forbs
Wie hat eine Zeichenfolge eine val() -Methode? Sollte einen großen Fehler in der Konsole haben, wenn das Klickereignis tatsächlich an das Element angehängt ist. – epascarello
sollten Sie das Element selbst klonen var newActivity = activity.clone(); – samehanwar