如何将Backbone模型绑定到jqGrid?

我正在使用Backbone以及jQuery和jqGrid,并遇到使用jqGrid绑定主干集合的问题。

这是我从服务器获得的响应:

{"DogModel":[ {"name":"Jane","breed":"Great Dane"}, {"name":"Rocky","breed":"golden Retriver"}, {"name":"Jim","breed":"Lab"} ]} 

在View中,我得到了类似的数据

 [{"name":"Jane","breed":"Great Dane"}, {"name":"Rocky","breed":"golden Retriver"}, {"name":"Jim","breed":"Lab"}] 

//视图中的jqGgrid代码

 jQuery("#dogsList").jqGrid({ datatype: 'json', data:this.collection.models.toJSON(), width:'100%', colNames:['name', 'breed'], colModel:[ {name:'name', align:'left'}, {name:'breed', align:'left'} ], loadComplete : function(data) { alert('grid loading completed ' + data); }, loadError : function(xhr, status, error) { alert('grid loading error' + error); } }); 

我尝试用data:this.collection.models.toJSON() data:this.collection.models[0].toJSON()data:this.collection.toJSON() ,它会抛出意外的字符解析错误。

我需要做什么才能将模型绑定到jqGrid?

我不完全了解jqGrid,但我看了他们的例子,我找到了一个解决方案,在你的网格上添加模型。

您需要将datatype更改为local并手动添加jqGrid上的每一行。

最好的方法是看到代码在jsFiddle上运行并了解代码是如何工作的: http : //jsfiddle.net/Atinux/qM98D/

你应该试试:

 datatype: 'local', data:this.collection.toJSON() 

这对我有用。