Ich habe ein Skript, das an zwei Orte in meiner Webanwendung anhängen wird. Einer ist ein Listenelement und der andere ist ein verstecktes Feld in einem HTML-Formular (das ich die Daten in einer PHP-Dienstdatei verarbeiten).jQuery erhalten Datenattribut auf Klick funktioniert nicht
Ich möchte jedoch, dass wenn ein Benutzer auf das "x" -Symbol klickt, dass alle Elemente entfernt werden, die dieselbe ID haben.
Ich habe eine gute Idee, wie dies zu tun ist, aber mein Skript unten protokolliert nicht einmal die ID. Der .control
Block gibt mir das Problem. Der Codeblock #add
hängt den HTML-Code erfolgreich an.
Fehle ich etwas offensichtlich? Versuchen
$("#add").click(function() {
// RENDER LIST
var playerList = ""; //
playerList += "<li class='selection'>" + $("#player").val() + "<i class='fa fa-close control' data-id='" + $("#playerGUID").val() + "'> </i>" + "</li>";
$(playerList).appendTo("#playerList");
// ADD GUID TO SUBMISSION VALUES
var playerHTML = "";
playerHTML += "<input data-id='" + $("#playerGUID").val() + "' type='hidden' name='playerGUID[]' value='" + $("#playerGUID").val() + "' />";
$(playerHTML).appendTo("#selected-players");
// CLEAR INPUT FIELD
$("#player").val('');
});
$(".control").click(function() {
$targetID = $(this).attr('data-id');
console.log("Selected ID:" + $targetID);
// REMOVE WILL COME HERE
});
_alle Elemente werden entfernt, die dieselbe ID haben __ ?? "ID" muss pro Seite eindeutig sein ... –
Wenn Sie absichtlich schlechten Code verwenden, können Sie nicht erwarten, dass er richtig funktioniert. Wie Sie [hier] (https://jsfiddle.net/sd6Lbydc/) sehen können, nimmt jQuery bei mehreren Elementen mit derselben ID nur die erste. –
Könnten Sie bitte etwas von Ihrem HTML-Code posten? –