jquery - Telerik 网格排序后点击事件丢失

标签 jquery telerik-mvc

我有一个启用排序的 Telerik 扩展网格。每行都有一个链接“批准”,单击该链接时会显示模式弹出窗口。我使用模板创建了此链接,

   columns.Bound(o => o.UserSeq).Template(
       @<text>
          @Html.ActionLink("Approve", "ApproveUser", "Home", new { userSeq = @item.UserSeq }, new { @class = "modal-link" })       
       </text>
.ClientTemplate(
     <a href=" + Url.Action("ApproveUser", "Home", new { userSeq = "<#= UserSeq #>" }, null) + " class='modal-link'> Approve </a>"                               
 ).Title("Action").Width(100);

我的问题是,当网格排序后单击链接“批准”时,模式弹出窗口显示为单独的页面。在对网格进行排序之前,这可以正常工作。

经过研究,我发现排序后也许需要重新绑定(bind)点击事件以显示模态。但是,我不知道该怎么做。

在单击网格的每个列标题进行排序后,我尝试将单击事件重新绑定(bind)到“批准”链接。到目前为止,我可以跟踪何时单击排序列。但是,我的问题是排序后单击该链接“批准”时无法触发任何事件。

 $('.modal-link').bind('click', function () {
                 alert('outBound');
             });

             $(".t-header .t-link").on('click', function () {
                 alert('test');
                 $('.modal-link').bind('click', function () {
                     alert('Bound');
                 });

请帮忙!

最佳答案

我找到了解决问题的方法。单击链接后,我需要向该链接添加 html 属性。因此,我没有尝试在重新绑定(bind)单击事件时执行此操作,而是只是将这些 html 属性添加到客户端模板中的链接,同时在 View 中定义 telerik 网格。

  .ClientTemplate(
     <a href=" + Url.Action("ApproveUser", "Home", new { userSeq = "<#= UserSeq #>" }, null) + " **data-target='#modal-container' data-toggle='modal'** class='modal-link'> Approve </a>" 
 ).Title("Action").Width(100);

关于jquery - Telerik 网格排序后点击事件丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942595/

相关文章:

javascript - Vanilla Javascript 查找具有单击属性的元素

javascript - 需要做一个垂直的时间轴

javascript - 如何根据phonegap中的位置从数据库检索数据?

javascript - 具有批量编辑网格的 Telerik MVC 网站可防止窗口关闭时未保存的更改

asp.net-mvc-3 - Telerik MVC 网格。在客户端分组

javascript - 如何使用 Kendo.Button() 的事件方法将模型的属性发送到 JavaScript 函数

javascript - 如何仅在较小的屏幕尺寸上使用 jQuery appendTo,但在较大的屏幕上返回正常位置

jquery - YUI 如何包含特定模块?它是如何运作的?

c# - Kendo UI Grid 根据条件不同的细节模板