Функции jqGrid undefined editRow и saveRow не работают

На самом деле думаю, что это простое исправление, но после того, как я попробовал другие решения, опубликованные на SO, мне не повезло.

Я получаю неопределенную функцию каждый раз, когда я выбираю или дважды щелкаю строку, и каждая из этих функций срабатывает в jqGrid. Код и html заголовок ниже. Ошибка в onSelectRow и ondblClickRow при срабатывании событий.

Вывод ошибки: введите здесь описание изображениявведите здесь описание изображения

Порядок загрузки заголовка:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://trirand.com/blog/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="http://trirand.com/blog/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/base/jquery-ui.css" />
<link rel="stylesheet" type="text/css" media="screen" href="http://trirand.com/blog/jqgrid/themes/ui.jqgrid.css" />

JS-код для jqGrid:

var lastSel;

editParams = {
    "successfunc": null,
    "url": '/submit/adjustments',
    "extraparam": {
        UserAdj: function() {
            var sel_id = $('#rowed1').jqGrid('getGridParam', 'selrow');
            var value = $('#rowed1').jqGrid('getCell', sel_id, 'user_adj_order');
            return 'test';
        },
        arg1 : 'test_it_out'
    },
    "aftersavefunc": null,
    "errorfunc": null,
    "afterrestorefunc": null,
    "mtype" : "POST"
}

jQuery("#rowed1").jqGrid({
    url: base_url + 'get/101/items',
    datatype: "json",
    jsonReader: {
        root: function (obj) { return obj.items; },
        id: 'id',
        page: function () { return 1; },
        total: function () { return 1; },
        records: function (obj) { return obj.items.length; },
    },
    loadonce: true,
    colNames:['Vendor', 'Name', 'Price', 'Last Cost', 'Qty OH', 'Qty OO', 'Wks Selling', 'Str Velocity', 'Fleet Velocity', 'Reccomended Buy', 'User Adjustment'],
    colModel:[
        {name: 'vendor_name'},
        {name: 'name'},
        {name: 'price'},
        {name: 'cost'},
        {name: 'qty_OH', sorttype:'int'},
        {name: 'qty_OO', sorttype:'int'},
        {name: 'str_wks_selling', sorttype:'int'},
        {name: 'velocity', sorttype:'int'},
        {name: 'flt_five_wk_vel', sorttype: 'int'},
        {name: 'rec_buy', sorttype: 'int'},
        {name: 'user_adj_order', editable: true}
    ],
    onSelectRow: function(id){
         if(id && id!==lastSel){ 
            $('#rowed1').jqGrid('saveRow', lastSel, editParams);
            lastSel=id; 
         }
       },
    ondblClickRow: function(id) {
        $('#rowed1').jqGrid('editRow', id, true, editParams); 
    },
    rowNum:10,
    rowList:[10,20,30],
    pager: '#prowed1',
    sortname: 'name',
    viewrecords: true,
    sortorder: "desc",
    autowidth: true,
    height: '100%',
    gridView: true,
    'cellSubmit': 'remote',
    editurl: '/submit/adjustments',
    cellurl: '/submit/adjustments'
});

person jasdeepg    schedule 24.10.2014    source источник


Ответы (1)


Вы пробовали очистить кеш? Если да, и он все еще не работает, не могли бы вы также опубликовать свой полный html-код. Предположим, что код JS находится в отдельном файле JS.

person user3642922    schedule 25.10.2014
comment
Очистка кеша не является хорошим способом обработки ошибок в javascript. Пожалуйста, не отвечайте на вопрос, не участвуя в обсуждении. - person carlodurso; 25.10.2014