10

我在 .html 中有 html 元素foreach。我无法手动向这些人声明 ID 名称。我曾经 id='ProductSelect_@(item.Id)'设置Id:

  foreach (var item in Model)
   {
     <a href="#" id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
   }

但是,现在我需要eash 链接的 .click()函数<a>来执行我的一些操作。如何为动态 ID 编写点击函数?
我检查了这个,但它不起作用:

$("#ProductSelect_@(item.Id)").click(function () {

   //any operation

 });

编辑:

<script>
    $(document).ready(function () {
        $('.select-link').click(function() {
            var id = $(this).attr('data-id');

            url = '@Url.Action("SelectThis", "Product")';
            var data = { id: '@Model.Id' };
            $.post(url, data, function (result) {
                if (result.success) {
                    alert("Thanks");
                }
                else {
                    alert("Problem occured...");
                }
            });

        });
    });
</script>

此 click() 函数将请求发送到控制器迭代计数次数。我的代码有什么问题?

4

1 回答 1

13

我建议使用属性。

 foreach (var item in Model)
   {
     <a href="#" data-id='@item.Id' id='ProductSelect_@(item.Id)' class="select-link">Select this</a>
   }

然后在 JS...

$('.select-link').click(function()
{
 var id = $(this).attr('data-id');
});

这样,您就可以连接到所有类似的链接(例如select-list),而无需为每个#id 单独处理函数。

于 2013-01-18T19:31:09.210 回答