javascript - 在 JQuery 中所选行之后插入新行

标签 javascript jquery

我需要在所选行之后插入新行。我的代码在最后插入一个新行,只有当用户未选择任何行时才会发生这种情况。

strGridId  = test_ItemCollection_DefaultGridId(strGridId);
var grid = jQuery('#' + strGridId);
var columnModel = grid.jqGrid('getGridParam', 'colModel');
var currentItemCollection = test_ItemCollection_Get(strGridId);

var baseAddItem = function() {
    var newTItem = proj.page.createTItem(currentItemCollection.strJSOName, strGridId, true);
    newTItem.setUpdateStatus(UPDATESTATUS.ADD);
    newTItem.set('transientItem', 1); // just created this item

    // pre add item event
    var evt = new TEvent(EVENT_PRE_ADD_ITEM, test_ItemCollection_Get(strGridId));
    evt.strGridId = strGridId;
    evt.newItem = newTItem;
    if (!test_ItemCollection_fireEvent(evt)) {
        return false;
    }

    currentItemCollection.items.push(newTItem);

    var rowData = new Object();
    for (var iGridLayout = 0; iGridLayout < columnModel.length; iGridLayout++) {
        if (test_ItemCollection_IsNotJQGridColumn(columnModel[iGridLayout].name)) {
            rowData[columnModel[iGridLayout].name] = test_ItemCollection_EncodeCellValue(strGridId, currentItemCollection.items.length-1, columnModel[iGridLayout], test_ItemCollection_GetItemDisplayValue(columnModel[iGridLayout], newTItem));
        }
    }
    grid.jqGrid('addRowData', ''+ ( currentItemCollection.items.length-1), rowData ); // convert to string for adding 0 item
    test_ItemCollection_selectRow(strGridId, '' + (currentItemCollection.items.length - 1) );

    // post add item event
    var evt2 = new TEvent(EVENT_POST_ADD_ITEM, test_ItemCollection_Get(strGridId));
    evt2.strGridId = strGridId;
    evt2.newItem = newTItem;
    test_ItemCollection_fireEvent(evt2);
    test_ItemCollection_AdjustGridHeight(strGridId);

    return true;
};

我怎样才能实现这个目标?任何帮助将不胜感激。谢谢

最佳答案

您可以使用jQuery的.insertAfter()函数。欲了解更多详细信息,请点击此链接jQuery insertAfter

关于javascript - 在 JQuery 中所选行之后插入新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29697168/

相关文章:

javascript - Webpack 中的热模块替换到底是什么?

jquery - 是否可以使用 JavaScript 生成保存文件对话框?

javascript - 类型错误 : $httpBackend is undefined

jquery - 无法居中响应式导航菜单

javascript - 为什么我的图片库无法使用?

javascript - 具有 id 和类的 jQuery 选择器定位元素不起作用

jquery - 如何知道 JSON 响应中键/值对的数量?

javascript - 在我的文件中找不到任何导致 Uncaught RangeError : Maximum call stack exceeded 的递归

javascript - 为什么在jquery中缓存ID时使用索引0?

javascript - 在 React 组件中解析 JSON