无法更改Click()上的图标

时间:2017-10-16 02:49:08

标签: c# jquery asp.net-mvc razor

我有这个HTML

<li><button class="btn-link glyphicon @(I._tp_favourite == 0 ? "glyphicon-heart-empty" : "glyphicon-heart")" style="text-decoration:none;" onclick="Fav(@I._id, @I._tp_favourite)" id="FavButton"></button></li>

OnClick我触发此功能

 function Fav(id,fav) {
        var url = '@Url.Action("_Fav", "my")';

        $.ajax({
            url: url,
            type: 'POST',
            data: {
                id: id,
                fav: fav
            },
            success: function (data) {
                $('#FavButton').toggleClass('btn-link glyphicon glyphicon-remove');
                alert(data);
            },
            error: function (jqXHR) { // Http Status is not 200
                alert(jqXHR.status);
            }
        });
    };

这应该将按钮类更改为btn-link glyphicon glyphicon-remove但不是,我是否需要为每个id="FavButton"附加一个ID

任何想法

干杯

1 个答案:

答案 0 :(得分:0)

我想出了问题,我需要在循环中附加每个ID

id="FavButton_@I._id"

然后在我的成功函数

中执行以下操作
 $('#FavButton_' + id).removeClass('btn-link glyphicon glyphicon-heart-empty').addClass('btn-link glyphicon glyphicon-remove');