我在使用easyui的内部方法后得到一个对象数据,我需要在将它作为datagrid中的新行附加之前处理它。
演示代码如下。
var data = $('#id')。datagrid('getRows')[0];
假设数据变量的内容为{'a':123} 如果我处理它:data.a = 444;
然后再次运行相同的getRows命令: var data2 = $('#id')。datagrid('getRows')[0];
结果:{'a':444}
发生了什么事?
因为easyui是一个商业代码,它已被混淆,所以我无法通过阅读源代码来弄明白。
我猜可能是easyui实现了Set方法,所以在我更改属性之后,它会改变源数据吗?
有任何帮助吗?谢谢。
答案 0 :(得分:0)
没有人试图解决这个问题,然后我继续努力。
在jsnice.org美化jquery.easyui.min.js文件后,我找到了这样一个结构:
$.fn.datagrid.parseData = function (target) {
var targets = $(target);
var data = {
total: 0,
rows: []
};
因此,所有属性都在变量中存储。如果有人更改了对象值,则更改将立即存储。