今天在开发过程中用treegrid的updateRow方法希望往row参数中的field中传变量,但调试时却发现他解析得到的是变量名,并不是我想要的变量值,一脸懵逼
var editCellIndex;
var editingField="name";
var username="马大哥";
$('#tt').treegrid('updateRow',{index:editngId,row:{editingField:username}});//用此种方法解析出来的格式是错误的
下图为解析出来的json
我希望的row应该为{name:"xxx"},然而他却给了我{editCellField:"xxx"}
故而,想通过自己拼接json的方法得到自己想要的结果,以下为解决方法
var row1 = {};
var row2 ={};
row2[editCellField] = rowData.USERNAME;//row2[xxx]方法中xxx可以是变量
row1.index=editCellIndex;//row1.xxx 方法中 xxx你写什么就是什么,不会是变量
row1.row = row2;
$('#tt').treegrid('updateRow',row1);
在上面中若希望键为变量,使用json[xxx]=yyy;的方法,若键为常量则两个都可用