выбор элемента по уникальному идентификатору в mvc jQuery

0

Я пытаюсь выбрать эти элементы через уникальный идентификатор. В этом случае единственным идентификатором является @item.cardID.

@model IEnumerable<FunRanger.Models.CardModel>

foreach (var item in Model)
{
   <a name="spam" href="javascript:;" class="@item.cardID btn btn-primary">0 Spam</a>
   <a href="javascript:;" class=" @item.cardID btn btn-success">0 Loves</a>
   <a href="javascript:;" class=" @item.cardID btn btn-primary">0 Favorites</a>
   <a href="javascript:;" class=" @item.cardID btn btn-danger">0 Hates</a>
}

У меня будет много ссылок на странице просмотра, проходящей через список. Я попытался использовать jQuery с каждым тегом привязки, чтобы отправлять некоторые данные через ajax.

Я бы использовал уникальный id для использования ajax-действия на каждом якоре выше.

Я уже использовал id и class с именем @item.cardID и использовал его, как показано ниже before-

for ID- $('#'+"@item.cardID") 
for Class- $('.'+"@item.cardID") 

Теперь для всех левых элементов они должны использовать только уникальный идентификатор, который у меня только левой, использует его с именем. Поэтому я сделал try-

<a name="spam" href="javascript:;" class="@item.cardID btn btn-primary">0 Spam</a>

и jQuery now-

<script type="text/javascript">
    $(function () {
            $('a[name=spam][Class="."+"@item.cardID"]').click(function () {
                alert("@item.cardID");
            });
    });
</script>

Но это не работает. Как использовать этот уникальный идентификатор, не нарушая действия других элементов?

  • 0
    Я не использую asp.net . Можете ли вы сказать мне, что такое @item.cardID ?
  • 0
    @Felix, это основанный на модели идентификатор списка, который отображается на странице. Пожалуйста, рассмотрите мой отредактированный код только сейчас.
Показать ещё 2 комментария
Теги:
asp.net-mvc

1 ответ

0

Вы должны посмотреть на использование атрибутов HTML5 data- для хранения метаданных элемента. jQuery поддерживает это с помощью метода data().

foreach (var item in Model)
{
   <a name="spam" data-cardId="@item.cardID" class="btn btn-primary">0 Spam</a>
   ...
}

Теперь привяжите обработчик к любой ссылке с именем "спам":

$(function () {
        $('a[name=spam]').click(function (e) {
            e.preventDefault();
            var cardId = $(this).data('cardId');
            alert(cardId);
        });
});

ref: http://ejohn.org/blog/html-5-data-attributes/

ref: https://api.jquery.com/jQuery.data/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню