2017-03-16 12 views
0

私はthisを使用しています。jqGridを使用するace adminの動的テーブルテンプレートです。私はデータベースからデータをロードし、1行の編集と削除操作を実行しました。しかし、私はテンプレートが複数行選択機能を提供しても、複数行の削除を行うことができません。編集、削除の問題はありません。問題は複数の行IDが渡されていないことです。このace admin jqgridテーブルで複数行選択を実装する方法は?

个人设定ファイルで
jQuery(grid_selector).jqGrid({ 
// code to fetch dynamic JSON data  
editurl: "edit.php", 
multiselect: true, 
// some other code 
}); 

switch ($_POST["oper"]) { 
case "add": 
    // do mysql insert statement here 
break; 
case "edit": 
    // do mysql update statement here 
break; 
case "del": 
    // do mysql delete statement here 
break; } 

複数のチェックボックスを選択し、削除アイコンをクリックすると、(すでにテンプレートに存在した)次のイベントが起動されます。

$(t, w).attr({ 
    title: m.deltitle || "", 
    id: e.id || "del_" + v 
    }).click(function() { 
    if (!$(this).hasClass(k.disabled)) { 
    var a; 
    o.p.multiselect ? (a = o.p.selarrrow,0 === a.length && (a = null)) : a = o.p.selrow,a ? $.isFunction(m.delfunc) ? m.delfunc.call(o, a) : $(o).jqGrid("delGridRow", a, e) : ($.jgrid.viewModal("#" + n.themodal, { 
            gbox: "#gbox_" + $.jgrid.jqID(o.p.id), 
            jqm: !0 
           }), 
    $("#jqg_alrt").focus()) 
    } 
    return !1 
}) 

私は何時間もテンプレートのコードを読んできましたが、初心者なのでほとんど理解できません。複数の選択を行う方法をお勧めします。

+0

サーバーコード( 'edit.php')の' case "del": '部分に正しいコードを実装するだけでよいと思います。 jqGridは、サーバに**カンマで区切られた** ROWIDのリストを送信します。したがって、 'id'パラメータの値を分割し、' edit.php'に送信し、すべてのデータを個別に削除する必要があります。 – Oleg

+0

@Olegありがとうございました! –

+0

あなたはようこそ!私は答えと同じ情報を掲示します。 – Oleg

答えて

0

サーバコード(edit.php)の一部であるcase "del"に正しいコードを実装するだけで済みます。 jqGridはカンマ区切りのROWIDリストをサーバーに送信します。したがって、idパラメータの値を分割して、edit.phpに送信し、すべてのデータを個別に削除する必要があります。

関連する問題