(原创)easyui_datagrid_load中参数为变量的情况处理

Easyui 提供了一个 searchBox 控件 ; searchBox 的回调方法会提供 value name 这两个参数 ;

         问题就出现了: 查询的时候, 对应后台变量名的是个js的变量;

         比如:
    addibleAuthorityDatagrid.datagrid('load', {
         name : value,
         "authorities.authorityIds" : authorityIds,
         "authorities.tag" : "not_in"
    });


Name的值为”authorities.authorityName”

Value的值为输入的值;

可是这样写的话, 并不会像其他两个参数一样赋到authorities这个对象的对应属性中;

他会把赋到actionname属性中!

这是post数据; 显然我们想传递的是”authorities.authorityName”;而他传递的却是”name”

 

 

所以这样写不行

下面是正确的写法;
 
思路: 就是把datagridqureyParams这个Object获得到;var queryParams = addibleAuthorityDatagrid.datagrid('options').queryParams;

然后里面加属性queryParams[name]=value;

再赋回去: addibleAuthorityDatagrid.datagrid('options').queryParams = queryParams;

最后调用load方法:addibleAuthorityDatagrid.datagrid('load');

 

最后的代码是这样的:


 function addibleAuthoritySearch(value,name) {
    var queryParams = addibleAuthorityDatagrid.datagrid('options').queryParams;
console.info(queryParams['authorities.tag']);
console.info(queryParams);
    queryParams[name]=value;
console.info(queryParams);
    addibleAuthorityDatagrid.datagrid('options').queryParams = queryParams;
    addibleAuthorityDatagrid.datagrid('load');
    
    addibleAuthorityDatagrid.datagrid('load', {
         name : value,
         "authorities.authorityIds" : authorityIds,
         "authorities.tag" : "not_in"
    });
}


Auth: 张振斌/杭州-沙子        time: 12-12-21

你可能感兴趣的:(EASYU)