我正在使用razor语法生成标签列表。

@foreach(var label in Model.Labels)
{
   @Html.Label(label, new  { id = "??" }) <br /> <br />
}


它呈现如下:

项目1

item2

我必须在Jquery中做些什么才能提醒单击的标签名称?

如果我给它提供一个静态ID,则click事件只会在第一个元素上触发,这是因为存在多个具有相同ID的标签。

最佳答案

选项1,使用data-*
剃刀:

@foreach(var label in Model.Labels)
{
   @Html.Label(label, new  { data_type = "myLableType" }) <br /> <br />
}


JavaScript:

$(document).on('click', '[data-type="myLabelType"]', function() {
    alert($(this).html());
}


选项2,使用class-该类旨在用于CSS样式,而不是JS,但它将起作用:

剃刀:

@foreach(var label in Model.Labels)
{
   @Html.Label(label, new  { class= "myLableType" }) <br /> <br />
}


JavaScript:

$(document).on('click', '.myLabelType', function() {
    alert($(this).html());
}

09-25 17:10