`

jquery easyui datagrid:使columns的field支持点连接的字符串属性

阅读更多

javascript语法为我们提供了两种方式获取一个对象的属性:点字符连接和[]方式。使用[]可以很方便的将一个属性通过字符串的方式获取。但是javascript并没有提供点连接的字符串属性访问方式,例如:

var person={name:{first:"lily",last:"wang"},
addr:{addr1:"beijing",addr2:"zhongguo"}};
alert(person.name.first);
alert(person['name']['first']);  
alert(person['name.first']);//不支持

 可以采用下面方式根据点连接的字符串获取对象属性值的属性值。

var str='name.first';
var test=eval("person['"+str.replace(/\./g,"']['")+"']");
alert(test);
 

回到主题。jquery easyui datagrid的coloumns的属性定义方式:

{title:'姓名',field:'name',width:60},
{title:'联系方式',field:'phone',width:100},

 它的field不支持点字符连接的字符串模式

{title:'姓名',field:'person.name',width:60},
{title:'联系方式',field:'person.phone',width:100},

 而实际通过ajax从服务器获得的json往往需要使用点连接符的字符串获取属性值。

修改jquery.easyui.min.js中第6769行:

cc.push(eval("_4ea['"+_4ec.replace(/\./g,"']['")+"']"));
//cc.push(_4ea[_4ec]);   //源代码

 这样就可以很好的支持person.name格式的field了

 
分享到:
评论
2 楼 jiasuo110 2013-05-31  
就是,我也找不到!
1 楼 Arthuroo 2012-08-07  
大哥,您好,为什么我在源码中找不到cc.push(_4ea[_4ec]);   你的是什么版本的啊?

相关推荐

    EasyUI Datagrid 中文排序的问题

    - `localeCompare` 方法可以比较两个字符串,并根据语言环境进行排序。参数 `'zh'` 表示按照中文环境排序。 - `sortable: true` 指明该列可以排序。 - `sorter: nameSorter` 指定了排序函数。 通过上述方式,...

    easyui的datagrid数据excel导出

    1. **初始化表格**:使用变量 `tableString` 初始化一个空的表格字符串。 2. **构建表头**:遍历 `frozenColumns` 和 `columns`,为每一个可见的列生成 `<th>` 元素,并记录列的配置信息到 `nameList` 数组中。 3. *...

    使用html标签、jQuery-EasyUI和Ext4分别展示json数据

    展示JSON数据时,可以使用`<pre>`或`<code>`标签将原始JSON字符串格式化并展示在网页上。通过JavaScript,可以动态地将JSON对象转换为字符串,然后插入到这些HTML标签中。例如: ```html <pre id="jsonData"></pre>...

    使用html标签、jQuery-EasyUI和Ext4分别展示json数据的效果

    columns: [[{field: 'key1', title: 'Key1'}, {field: 'key2', title: 'Key2'}]] }); }); ``` EasyUI会自动解析JSON数据并填充到表格中,同时提供排序、筛选等交互功能。 最后,我们来看Ext4,这是一个功能强大...

    jquery_easyui_cn 中文例子 和详解

    - 参数:可设置的参数包括`formatter`(日期格式化函数),`parser`(解析用户输入的日期字符串)等。 - 事件:如`onSelect`(用户选择日期时触发),`onChange`(日期值改变时触发)。 - 方法:`getValue()` ...

    实现easyui的datagrid导出为excel的示例代码

    EasyUI是一个基于jQuery的轻量级UI框架,提供了丰富的组件,包括DataGrid,用于展示和操作数据。DataGrid的导出功能对于数据的分析和共享非常有用,下面我们就来看一下具体的实现方法。 首先,我们需要创建一个...

    formatter的用法

    3. **返回值**:`formatter`函数必须返回一个字符串,该字符串将被渲染到对应的单元格中。 #### 三、示例详解 本示例展示了如何根据某一行的特定字段(例如“修改人”)来改变另一列(例如“型号名称”)的字体...

    jquery ezUI 双击行记录弹窗查看明细的实现方法

    class="easyui-datagrid" style="height: 500px;" data-options=" url: '/ajaxget.aspx?_t=' + new Date().getTime() + '&_action=SVNGetHandler.GetSearchPageData&searchType=&keyword=*', method: 'get', ...

Global site tag (gtag.js) - Google Analytics