2013-01-18 36 views
8

Tôi có các phần tử html trong foreach. Tôi không thể khai báo tên ID theo cách thủ công. tôi đã sử dụng để thiết lập id='[email protected](item.Id)' Id:Cách đặt ID và sử dụng nó tự động trong dao cạo 4 mvc?

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

Nhưng, bây giờ tôi cần .click() chức năng cho eash <a> liên kết để làm một số hoạt động của tôi. Làm thế nào để viết chức năng bấm cho ID động?
Tôi đã kiểm tra điều này, nhưng nó không hoạt động:

$("#[email protected](item.Id)").click(function() { 

    //any operation 

}); 

Edit:

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

nhấp chuột này() chức năng gửi yêu cầu để điều khiển lặp đếm lần. Có gì sai trong mã của tôi?

+0

'$ ('a'). Nhấp();' có thể làm điều đó. Trên thực tế mục đích của bạn là không rõ ràng. Tại sao bạn chỉ muốn chọn id cụ thể để thực hiện công cụ? – Jai

+0

Ví dụ, giả sử, trả lời cấu trúc chấp nhận trong http://stackoverflow.com. Ý tưởng tôi cần là tương tự, để chọn bất kỳ mục nào từ danh sách của câu trả lời xếp hàng động. –

Trả lời

11

Tôi khuyên bạn nên sử dụng thuộc tính.

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

sau đó trong JS ...

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

Bằng cách đó bạn có dây cho tất cả các liên kết tương tự (ví dụ select-list) mà không có một hàm điều khiển riêng biệt cho mỗi #ID.

+0

cảm ơn cho điều này, nó hoạt động, nhưng khi tôi nhấp vào bất kỳ liên kết, hoạt động hoạt động nhiều lần, cho đến khi kết thúc foreach ... –

+0

Kiểm tra mã đầu ra của bạn (HTML). Có lẽ bạn đang nối dây lên JS Tôi đăng mỗi lần lặp qua vòng lặp. Với mã của tôi, bạn chỉ cần thêm rằng JS ONE TIME, tức là sau vòng lặp, và sau đó nó sẽ làm việc cho tất cả các liên kết. –

+0

Tôi đã chỉnh sửa câu hỏi của mình. xin vui lòng xem. mã đầu ra là đúng. giá trị của id dữ liệu dòng 1, 2, 3. id = 'ProductSelect _ @ (item.Id)' cũng hoạt động, nhưng, yêu cầu đi đến bộ điều khiển nhiều lần (số đếm lặp) –

Các vấn đề liên quan