我已经基于如下所示的数据源生成了一个数据表。我想替换表示行的元素,然后强制该行使用新数据重新呈现。
我的问题是我只能在编辑行属性时使其工作。但是,当我更换整行时,它并不起作用。是因为数据表需要对原始对象的引用吗?
var dataSet = [
['Trident','Internet Explorer 4.0','Win 95+','4','X'],
['Trident','Internet Explorer 5.0','Win 95+','5','C'],
['Trident','Internet Explorer 5.5','Win 95+','5.5','A'],
['Trident','Internet Explorer 6','Win 98+','6','A'],
['Trident','Internet Explorer 7','Win XP SP2+','7','A'],
['Trident','AOL browser (AOL desktop)','Win XP','6','A']
];
$('#example').dataTable( {
columns: [
{
"title": "Engine"
},
{ "title": "Browser" },
{ "title": "Platform" },
{ "title": "Version", "className": "center" },
{ "title": "Grade", "className": "center" }
],
data: dataSet
});
var table = $('#example').DataTable();
dataSet[0] = ['x','y','z','4','X'];
console.log(dataSet);
table.row(0).invalidate().draw();
http://jsfiddle.net/y3fnvzad/13/
在这种情况下我最好使用table.row(0).data(['x','y','z','4','X']).draw()
吗?
答案 0 :(得分:1)
您更正了,table.row(0).data(['x','y','z','4','X']).draw()
是更新行数据的正确方法。有关详细信息,请参阅Passing parameter inside $location.path in Angular。
变量dataSet
按值传递,因此之后修改数组元素不会产生任何影响。
答案 1 :(得分:0)
你可以使用这个:
JS
$('.content').not($this).slideUp('slow');