簡體   English   中英

當多個標簽具有相同的類別時,計算錨點標簽的點擊次數

[英]Count anchor tag clicks when there are multiple tags with the same class

我想循環播放5首最受歡迎的歌曲。 我只想捕獲單擊到該歌曲的鏈接的次數。 我將把按鈕單擊計數返回到ASP.NET MVC中的“操作結果”方法,然后將其保存到數據庫中。 當我運行它時,我不確定。 對於循環中的每個記錄,我也會得到此錯誤,在這種情況下,這是5次。 我的LINQ語句中僅取5。

這是我的觀點:

@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-userid="@Url.Content(@song.Fightsong.FightSongId.ToString())" class="fa fa-play"></i></a></td>
        <td><span class="counter">1</span></td>
    </tr>
}  

因此,倒數第二個表格列具有一個FontAwesome播放按鈕。 我把它包裹在一個錨標簽內。 單擊該錨標記后,對其進行計數並將其發送給我的控制器。

這是我的jQuery:

$(document).ready(function() {            
    $(".playbtn").click(function (e) {
        var clickedUserId = $(this).data('userid');
        alert(clickedUserId);
        //$('.userdata-container').load('ajax/userpage_' + clickedUserId + '.html');
    });
});

這返回未定義。

我意識到當我單擊按鈕時,我的播放按鈕圖標將變為暫停,因此可以暫停歌曲。 這將導致兩次單擊,但只能是一次。 因此,如果有更好的方法來捕獲此錯誤,請提出建議。

您在<i />標記上具有data-userid屬性。 更改此:

var clickedUserId = $(this).data('userid');

...對此:

var clickedUserId = $(this).find('i').data('userid');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM