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);
                        }
                    },

前述のように、3 つのボタンがあり、一部の画面にはオプションのボタンがあり、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 に答える