2014-02-15 56 views
0

我想通過唯一的ID選擇這些元素。在這種情況下,唯一的ID是@item.cardID通過MVC中的唯一ID選擇元素jQuery

@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和類名@item.cardID,並使用它作爲在─

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

現在所有剩下的元素應該是隻使用唯一的ID,我只留下下面的選擇與使用名字。所以,我沒有試戴

<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> 

但是,這是行不通的。我應該如何使用這個獨特的ID而不會破壞其他元素的行爲?

+0

' asp.net'。你能告訴我什麼是「@ item.cardID」嗎? – Felix

+0

@Felix,它是在頁面上呈現的列表的基於模型的id。請考慮我剛剛編輯的代碼。 – user3163213

+0

那麼渲染到瀏覽器後,「@ item.cardID」的值是多少? – Felix

回答

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); 
     }); 
}); 

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

裁判:我沒有使用https://api.jquery.com/jQuery.data/