我写了一个似乎可以正常工作的逻辑,然后最近出现了一个错误。我正在做的是允许用户向数据集添加一行或多行。他们添加的数据被传递给 AJAX post 方法,其中发布的数据返回一组数据,我将其附加到刚刚以隐藏“数据”属性的形式创建的行,这再次起作用. 但是我意识到我的问题是,这些属性被添加到表的第一行而不是新创建的行,我不知道如何获取最后一个新行并以方式附加属性我想要它,它似乎对tbody
.
所以快速回顾一下,新行正确地添加到表中,并且在视觉上是正确的,并且我想以属性的形式设置的data
属性有效。但是,它们附加到的行之间存在混合匹配。我当前的代码是:
taskmanagerExcludeTable.fnAddData([$('#source_filter_type option:selected').text(), jqVal, '<img src="/images/icons/png/light/recycle_bin.png" alt="Delete Exclude" class="datasource_exclude_delete" data-idr="reference">']);
var theNode = taskmanagerExcludeTable.fnSettings().aoData[0].nTr;
theNode.setAttribute('data-filter_id',obj.data.filter_id);
theNode.setAttribute('data-filter_type',params.filter_type);
theNode.setAttribute('data-task_id',params.task_id);
theNode.setAttribute('data-task_type',$('#source_filter_type option:selected').text());
我想说这一行:
var theNode = taskmanagerExcludeTable.fnSettings().aoData[0].nTr;
更具体地说aoData[0]
是我的问题。由于0
被硬编码到方法中,这意味着它假设第一行。我的问题是我怎样才能动态地使用它0
而不是硬编码,我可以使用某种形式的变量来获取正在创建的行的正确索引?