0

我想在我的 MVC 4 项目中使用 Jquery Datatables 进行基于网格的操作和一般列表。

经过一番搜索,我找到了 JQuery Datatables,我决定使用它。起初一切似乎都很好,但是当我开始为详细信息添加自定义行按钮时,开始出现编辑和删除问题。

在传统方式中,将按钮添加到一行只是将代码添加到相关的<td> </td>

但是数据表完全不同,我从这里得到以下示例代码https://stackoverflow.com/a/9774102/423699

"aoColumnDefs" : [ 
                    {
                        "aTargets": [0],
                        "fnCreatedCell" : function(nTd, sData, oData, iRow, iCol){
                            var b = $('<button style="margin: 0">edit</button>');
                            b.button();
                            b.on('click',function(){
                                document.location.href = oData[0];
                                return false;
                            });
                            $(nTd).empty();
                            $(nTd).prepend(b);
                        }
                    },

如前所述,我们有三个按钮,一些屏幕有可选按钮,它们出现在一些 if-else 条件之后。同样在数据表之前,我们使用 Html.ActionLink 和 css 来显示按钮;但是在使用数据表之后,放置按钮变得非常困难。

所以我认为可能是我们做错了什么,你可以帮助我们弄清楚。

4

1 回答 1

0

我认为附加到另一个元素时不会添加点击事件。所以我建议在添加按钮后添加点击事件。

"aoColumnDefs" : [
{
    "aTargets": [0],
    "fnCreatedCell" : function(nTd, sData, oData, iRow, iCol){
        $(nTd)
            .empty()//Empty
            .prepend('<button style="margin: 0">edit</button>')// prepend the button to the td
            .filter("button")// filter the results to the button element
                 .button()// add the jquery button effects
                 .on('click',function(){// attach the click event to the "filtered" button
                     document.location.href = oData[0];
                     return false;
                  });
    }
},
于 2013-04-09T15:31:28.863 回答