Ich habe diesen Code in Zweig bekamSchaltfläche Ändern Funktionalität jQuery
{% if followsId == null %}
<div id="followUser" class="follow" data-userId="{{ profileUserData.id }}" data-currentUserId="{{ loggedUserData.id }}" data-action="follow">
Follow
</div>
{% else %}
<div id="unFollowUser" class="follow" data-followsId="{{ followsId }}">
Unfollow
</div>
{% endif %}
Ich wollte nur Inhalte und Funktionen auf, klicken Sie auf Schaltfläche ändern und versucht, diesen Code mit jQuery
$('#followUser').click(function() {
var userId = $(this).attr('data-userId'),
action = $(this).attr('data-action'),
currentUser = $(this).attr('data-currentUserId');
$.ajax({
method: 'POST',
url: "/sci-profile/profile/follow",
data: {
userId: currentUser,
profileUserId: userId,
action: action
},
success: function(response)
{
$('#followUser').attr('id', 'unFollowUser')
.text('Unfollow')
.fadeOut(50)
.delay(50)
.fadeIn(50);
}
});
});
Mit diesem Code auf der Seitenquelle sehe ich unterschiedliche ID und unterschiedlichen Text auf der Schaltfläche, aber wenn ich das zweite Mal klicke, rufe ich die erste Schaltfläche auf, als ob sie sich nie geändert hätte. Gibt es eine Möglichkeit, den Speicher für dieses Element zu aktualisieren, oder mache ich von Anfang an etwas falsches?
ist ha I d gefunden Lösung mit dieser Frage: ** http: //stackoverflow.com/questions/38686742/reload-js-function-when-load-element-with-ajax** –