Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JQuery中选定的行之后插入新行_Javascript_Jquery - Fatal编程技术网

Javascript 在JQuery中选定的行之后插入新行

Javascript 在JQuery中选定的行之后插入新行,javascript,jquery,Javascript,Jquery,我需要在所选行之后插入新行。我的代码在最后一行插入了一个新行,只有在用户没有选择任何行时才会发生这种情况 strGridId = test_ItemCollection_DefaultGridId(strGridId); var grid = jQuery('#' + strGridId); var columnModel = grid.jqGrid('getGridParam', 'colModel'); var currentItemCollection = test_ItemCollec

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

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;
};
strGridId=test\u ItemCollection\u DefaultGridId(strGridId);
var grid=jQuery(“#”+strGridId);
var columnModel=grid.jqGrid('getGridParam','colModel');
var currentItemCollection=test\u ItemCollection\u Get(strGridId);
var baseAddItem=函数(){
var newTItem=proj.page.createTItem(currentItemCollection.strJSOName,strGridId,true);
newItem.setUpdateStatus(UPDATESTATUS.ADD);
newItem.set('transientItem',1);//刚刚创建了此项
//预添加项目事件
var evt=新事件(事件预添加项,测试项集合获取(strGridId));
evt.strGridId=strGridId;
evt.newItem=newItem;
如果(!test_ItemCollection_fireEvent(evt)){
返回false;
}
currentItemCollection.items.push(newItem);
var rowData=新对象();
对于(var-iGridLayout=0;iGridLayout

我怎样才能做到这一点?任何帮助都将不胜感激。谢谢

您可以使用jQuery的
.insertAfter()
函数。有关更多详细信息,请点击此链接假设您有一个id为
yourTable
的表,并且所选的每一行都有一个
selectedRow

添加一个id为
按钮
的按钮,然后单击它以添加新行:

$(document).on('click', '#button', function() {
   var selRow = $('table#yourTable').find('tr.selectedRow'); 
   var sel = selRow.length;
   var newRow = '<tr><td>This is a new row</td></tr>';
   if (sel > 0) {
      selRow.after(newRow);
   } else {
      $('table#yourTable > tbody').append(newRow);
   }
});
$(文档)。在('单击','按钮',函数()上){
var selRow=$('table#yourTable')。find('tr.selectedRow');
var sel=selRow.length;
var newRow='这是一个新行';
如果(sel>0){
selRow.after(newRow);
}否则{
$('table#yourTable>tbody')。追加(newRow);
}
});
这一次请检查一下。