2

I have the following inline editable grid

 var lastsel;
$("#mygrid").jqGrid({
        data:JqgridResponse.rows,
        datatype: "local",
        colNames:['DATE', 'SOURCE', 'DEST', 'FROM', 'TO'],
        colModel:[   
                  //1140 width
            {name:'time', index:'time', width:170 ,sortable:false},
            {name:'source', index:'source', width:290,sortable:false,editable:true,editoptions:{size:"33",maxlength:"50"}},
            {name:'dest', index:'dest',  width:290,sortable:false,editable:true,editoptions:{size:"33",maxlength:"50"}},
            {name:'from', index:'from', width:170,sortable:false,editable:true, edittype:"select",editoptions:{value:"us:US;gb:GB;fr:FR"}},
            {name:'to', index:'to', width:170,sortable:false,editable:true, edittype:"select",editoptions:{value:"us:US;gb:GB;fr:FR"}}
        ],
        multiselect: true,
            rownumbers: false,
        rowNum:10,                                      
        rowList:[10,50,100],                            
        height: "100%",
        autowidth: true,
        pager: '#pager',                                
            viewrecords: true,                              
            sortorder: "desc",
            ondblClickRow: function(id) {           
                if(id && id!==lastsel){
                jQuery('#mygrid').jqGrid('restoreRow',lastsel);
                jQuery('#mygrid').jqGrid('editRow',id,true);
                lastsel=id;
            }
            }

    });

And a navigation button and its event

$("#mygrid").navButtonAdd('#pager',
        {   caption:"", 
            buttonicon:"ui-icon-disk", 
            onClickButton: updateLocations,
            title:"Update Locations", 
            cursor: "pointer"
        } 
);

function updateLocations(obj, args){
    //how to get the edited data source, dest, from, to ?
}

How could I get the edited input value of "source" and "dest", and selected value of "from" and "to" at updateLocations method?

I have tried to located the edited row at Firebug, but the input has no values at all! For example for the "source"

<td aria-describedby="mygrid_source" title="N-finger" style="" role="gridcell">
<input id="36_source" class="editable" type="text" size="33" maxlength="50" name="sourcespan" role="textbox">
</td>

Am i missing something? Thanks.

4

1 に答える 1

0

saveRow編集を保存するために使用する必要があります。呼び出しrestoreRowは、行を以前の値に戻すだけです。

変更のみを取得するメソッドがあるとは思いませんが、トップレベルのスコープを持つ配列を使用して、変更されたすべての行を追跡できます。ondblClickRow次に、その配列を使用して、変更された各行 ID を追跡するように変更する必要があります。次に、これらの各行のデータを取得し、(たとえば) POST 経由でサーバーに保存するために使用できますupdateLocationsgetRowData

于 2012-08-28T13:41:26.667 に答える