Reputation: 4943
How do I run jquery when an MVC ActionLink is clicked? I have an action that takes some time. I want to show a 'processing' image until it returns. Is there a better way to do this?
Upvotes: 4
Views: 15252
Reputation: 1613
Give the actionlink a class:
@Html.ActionLink("","", new { @class:"delete" })
Then you can hook up your jQuery to the class name in a js file:
$(document).ready(function() {
$('.delete').click(function() {
///Code
});
});
You can also work with id
.
Upvotes: 5
Reputation: 3191
You can also use @Ajax.ActionLink
without need of jQuery script.
For example you can show a div when loading a page.
<div>
@Ajax.ActionLink("Link name", "Action", "Controller", new AjaxOptions { LoadingElementId = "loadingId", UpdateTargetId = "MyDataTable" })
</div>
<div id="loadingId" style="display:none; color:Red; font-weight: bold">
<p>Please wait...</p>
</div>
<div id = "MyData" class="tablediv">
<table id = "MyDataTable" class="Grid">
<tbody id="chartdata">
</tbody>
</table>
</div>
Upvotes: 3
Reputation: 13212
$('#element-id').live('click', function(e) {
//do stuff here ...
});
The trick is to give your action link an ID HTML attribute so you can use it as your element id:
$('#html-attribute-id').live('click', function(e) {
//do stuff here ...
});
Upvotes: 0