2014-02-15 2 views
0

고유 ID를 통해 이러한 요소를 선택하려고합니다. 이 경우 고유 ID는 @item.cardID입니다.mvc jQuery에서 고유 ID를 통해 요소 선택

@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를 사용하여 아약스를 통해 데이터를 게시하려고 시도했다.

위의 각 앵커에서 아약스 액션을 사용하려면 고유 ID를 사용합니다.

는 이미 이름 @item.cardID와 id와 class를 사용하고 사람들은 내가 유일한 옵션 왼쪽 만의 고유 ID를 사용해야합니다 모든 왼쪽 요소 이제 사전이

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

아래로 사용되었다

는 함께 사용이다 이름. 그래서 try-

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

를하고 jQuery를 지금 -

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

하지만이 작동하지 않습니다. 다른 요소의 동작을 중단하지 않고이 고유 ID를 어떻게 사용해야합니까?

+0

'

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

이제, "스팸 메일"의 이름 값으로 모든 링크에 처리기를 바인딩 asp.net'. '@ item.cardID'가 무엇인지 말해 줄 수 있습니까? – Felix

+0

@ Felix, 페이지에서 렌더링되는 목록의 모델 기반 ID입니다. 지금 제 편집 된 코드를 고려하십시오. – user3163213

+0

그러면 브라우저에 렌더링 된 후'@ item.cardID'의 값은 무엇입니까? – Felix

답변

0

요소에 메타 데이터를 저장하기 위해 HTML5의 data- 속성을 활용해야합니다. jQuery는 data() 메소드를 사용하여이를 지원합니다.

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

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

심판 : 내가 사용하지 않는 https://api.jquery.com/jQuery.data/

관련 문제