3

jqgridにアイコンがあり、それをクリックすると、ajaxの関数を呼び出してデータベース内のデータを削除する必要があります。

これはコードです:

    function loadnotespese(){
     $("#clienti-navgrid").jqGrid( {    
            ....
            colNames:['Tipo spesa','Importo','Unita di misura','Descrizione',''],                 
            colModel:[
                    {name:'category', index:'category', width:'20', sortable:false},  
                    {name:'value', index:'value', width:'10', sortable:false}, 
                    {name:'um', index:'um', width:'5', sortable:false},  
                    {name:'note', index:'note', width:'30', sortable:false},
                    {name:'links', index:'links', width:'5', sortable:false, align:'center', formatter: currencyFmatter, 
                        cellattr: function (rowId, tv, rawObject, cm, rdata) {
                            return ' onClick="deleteNote(' + rowId + ')"';
                        }
                    },
            ],
           ....
        });//jqGrid
}

ここで2つの関数:

function currencyFmatter(cellvalue, options, rowObject) {
    var cellValue = rowObject.id;
    return "<img title= 'Elimina' src='/images/delete-icon.png' />";
}


function deleteNote(value){
    var params = {};
    params['idProgetto'] = value;
    $.ajax({
        url: '/project/deletenota.do',
        type: 'GET',
        dataType: 'json',
        data: params,
        success: function(response){
            if (response != "error"){
                $("#clienti-navgrid").trigger("reloadGrid", [{current: true}]);
                dialogNotice("Nota spesa inserita<br/> ", 300, 150);
            }
            else 
                dialogNotice("E' avvenuto un errore nell'inserimento della nota spesa<br/> ", 300, 150);
            }
    });
}

このようにdeleteNote()を呼び出すのは正しいですか?または私は何か間違っていますか?何も起こらないからです。

ありがとう

4

1 に答える 1

4

行ごとに削除ボタンが必要な場合は、次の方法で追加できます。

    {name : 'actions', index: 'actions', formatter:'actions',
    formatoptions: {
    keys: true,
    editbutton: false,
    delOptions: { url: '/controller/deleteRecordAction' }
    }},

削除アクションを処理するには、上記のURLの代わりに独自のコントローラーアクションを指定します。

これが実際の例です http://jsfiddle.net/dumbguy5689/9ueDL/6/

于 2013-02-06T16:32:42.710 に答える