Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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 添加新行,然后单击行0时,Datatables.net fnGetPosition返回-1表示iColumnIndex_Javascript_Jquery_Jquery Datatables - Fatal编程技术网

Javascript 添加新行,然后单击行0时,Datatables.net fnGetPosition返回-1表示iColumnIndex

Javascript 添加新行,然后单击行0时,Datatables.net fnGetPosition返回-1表示iColumnIndex,javascript,jquery,jquery-datatables,Javascript,Jquery,Jquery Datatables,我通过以下方式获得我的职位: this.fnGetPosition = function( nNode ) { var oSettings = _fnSettingsFromNode( this[DataTable.ext.iApiIndex] ); var sNodeName = nNode.nodeName.toUpperCase(); if ( sNodeName == "TR" ) { re

我通过以下方式获得我的职位:

this.fnGetPosition = function( nNode )
    {
        var oSettings = _fnSettingsFromNode( this[DataTable.ext.iApiIndex] );
        var sNodeName = nNode.nodeName.toUpperCase();

        if ( sNodeName == "TR" )
        {
            return _fnNodeToDataIndex(oSettings, nNode);
        }
        else if ( sNodeName == "TD" || sNodeName == "TH" )
        {
            var iDataIndex = _fnNodeToDataIndex( oSettings, nNode.parentNode );
            var iColumnIndex = _fnNodeToColumnIndex( oSettings, iDataIndex, nNode );
            return [ iDataIndex, _fnColumnIndexToVisible(oSettings, iColumnIndex ), iColumnIndex ];
        }
        return null;
    };
如果我点击第0行,iDataIndex包含0,iColumnIndex包含我点击的任何列。但是如果我添加一个新行,比如说第9行,然后我点击第0行,iDataIndex仍然保持9而不是0,iColumnIndex返回-1。在添加新行时,我必须关闭bServerSide,因为如果不关闭,单击addnewrow按钮将不会添加空行,而是进行ajax调用。添加行后,我会重新打开bServerSide

fnNodeToDataIndex如下所示:

function _fnNodeToDataIndex( oSettings, n )
    {
        return (n._DT_RowIndex!==undefined) ? n._DT_RowIndex : null;
    }
function _fnNodeToColumnIndex( oSettings, iRow, n )
    {
        var anCells = _fnGetTdNodes( oSettings, iRow );

        for ( var i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
        {
            if ( anCells[i] === n )
            {
                return i;
            }
        }
        return -1;
    }
fnNodeToColumnIndex如下所示:

function _fnNodeToDataIndex( oSettings, n )
    {
        return (n._DT_RowIndex!==undefined) ? n._DT_RowIndex : null;
    }
function _fnNodeToColumnIndex( oSettings, iRow, n )
    {
        var anCells = _fnGetTdNodes( oSettings, iRow );

        for ( var i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )
        {
            if ( anCells[i] === n )
            {
                return i;
            }
        }
        return -1;
    }

})

我想小提琴是不可能的?