У меня есть список песен, в которых есть кнопка воспроизведения (fontawesome). Я хочу щелкнуть один из них и изменить значок с кнопки воспроизведения на кнопку паузы. Если я нажму кнопку воспроизведения другой песни, другие значки должны вернуться к кнопкам воспроизведения. Значок не меняется, когда я нажимаю его, хотя он играет мою песню. СпасибоИзменить fontawesome icon on click
Вот мой взгляд и петля foreach. Th Кнопка eplay является один, начиная с <td><a href=
@foreach (var song in popularsongs.OrderByDescending(song => song.Fightsong.PlayCount).Take(5))
{
<tr>
<td onclick="location.href = '@Url.Action("Details", "Team", new {id = song.Teams.TeamId})'">
<img src="@Url.Content(@song.Teams.LogoUrl)" height="35" width="35"/>
</td>
<td>@song.Fightsong.songname</td>
<td>@song.Fightsong.duration</td>
<td><a href="@Url.Content(@song.Fightsong.songurl)" class="playbtn"><i data-songid="@Url.Content(@song.Fightsong.FightSongId.ToString())" class="fa fa-play"></i></a></td>
<td>@song.Fightsong.PlayCount</td>
</tr>
}
Вот мой сценарий. Код для изменения playbutton останавливается до того, как var clickedSongId. То есть, чтобы подсчитать количество кликов, пожалуйста, не обращайте внимания.
$(document).ready(function() {
$('.playbtn').click(function() {
var className = i.getAttribute("class");
if (className == "fa-play") {
i.className == "fa-pause"
}
var clickedSongId = $(this).find('i').data('songid');
var fightsong = { Id: clickedSongId };
$.ajax({
type: "POST",
url: '@Url.Action("UpdatePlayCount", "Team")',
contentType: "application/json; charset=utf-8",
//data: fightsong,
data: JSON.stringify(fightsong),
dataType: "json"
});
});
});
Это близко. Он меняет все значки страниц. Мне нужно просто изменить значок для этой конкретной песни. Спасибо – coggicc
Вы просто указали ID для этого тега i –
Обновлен ответ .. –