Ich versuche, Benutzerdetails in der Benutzerliste mit AJAX JQuery anzuzeigen, aber es funktioniert nicht, wie ich brauche. Es funktioniert für meine ersten Details in der gleichen tr
, aber funktioniert nicht im zweiten Detail in td
in der zweiten Reihe. Wie soll ich es richtig machen? Hier.parents() funktioniert nicht auf Tabelle
ist der Code:
Meine Ansicht:
<table class="table">
<thead>
<th>#</th>
<th>name</th>
<th>password</th>
<th></th>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<table class="table">
<tr>
<td>{{$user->id}}</td>
<td>{{$user->name}}</td>
<td>{{$user->password}}</td>
<td class="extend-user" data-details="0" data-url="{{route("user", ["id" => $user->id])}}">Details</td>
<td id="details">a</td>
</tr>
<tr>
<td colspan="5" id="details">a</td>
</tr>
</table>
</tr>
@endforeach
</tbody>
</table>
und mein Skript:
$(".extend-user").click(function() {
var self = this;
if($(self).data("details")===0)
$.ajax({
method: "POST",
url: $(self).data("url"),
data: {
_token: $("#_token").val()
},
success: function(data) {
$(self).parents().find("#details").append(data["name"]);
//$(self).parent().parent().find("#details").append(data["name"]);
//$(self).closest('table').find("#details").append(data["name"]);;
$(self).data("details", "1");
}
});
if($(self).data("details")===1) {
$(self).data("details", "0");
$(self).parent().find("p.details").html("");
}
});
Versuch ersetzen $ zu verwenden (Selbst-) .parent(). Parent(). Finden ("#" finden). Anhängen (Daten [ "name"]); Übrigens sollte die ID in Ihrem HTML-Dokument eindeutig sein, andernfalls sollten Sie eine Klasse verwenden, da Sie auf diese Weise nicht beide erhalten können, während sie die gleiche ID – PacMan
haben. Ich sollte CLASS not ID verwenden. danke: D – gargi258