10

に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 に答える