我正在将backbone.js与dataTables进行集成.
我在这里有一个jsfiddle:http://jsfiddle.net/mwagner72/ekgZk/17/
到目前为止,我认为我最接近这个设置:
var Chapter = Backbone.Model; var chapters = new Backbone.Collection(); chapters.add(new Chapter({ page: 9,title: "The End" })); chapters.add(new Chapter({ page: 5,title: "The Middle" })); chapters.add(new Chapter({ page: 1,title: "The Beginning" })); $('#table_id_3').dataTable({ "aoColumns": [ {"sTitle": "Title","mDataProp": "title"},{"sTitle": "Page #","mDataProp": "page"}],sAjaxSource: "",sAjaxDataProp: "",fnServerData: function(sSource,aoData,fnCallback) { console.log('here we go'); fnCallback(chapters.toJSON()); } });
这是使用我的收藏作为dataTable的数据源.
我的问题:
如何告诉dataTable来检查集合中的更新数据?
解决方法
所以我在jquery dataTables网站上从allen的一些帮助中找出了答案.
诀窍是使用fnReloadAjax(),它会重新绘制您的基于该集合的datatable.
诀窍是使用fnReloadAjax(),它会重新绘制您的基于该集合的datatable.
$('#table_id_3').dataTable({ "aoColumns": [ { "sTitle": "Title","mDataProp": "title" },{ "sTitle": "Page #","mDataProp": "page" }],fnServerData: function( sSource,fnCallback ){ console.log(chapters.toJSON()); fnCallback(chapters.toJSON()); } }); chapters.add(new Chapter({page: 4,title: "The next bunny"})); var oTable3 = $('#table_id_3').dataTable(); oTable3.fnReloadAjax();
我有一个jsfiddle位于这里:http://jsfiddle.net/mwagner72/ekgZk/