项目需求如下图,在服务端返回的json数据中,要经过JS处理,添加复选框,并且复选框需响应JS操作。在easyui 的treegrid中,没有找到现成的插件,自己需要修改整理,代码如下 代码如下:<table class=”easyui-treegrid” style=”width:700px;height:250px” url=’control_node_json?group_id=$info[id]&access_node=$_REQUEST[access_node]”‘ idField=”id” treeField=”title” fit=”true” toolbar=”#contro 在jQuery EasyUI框架中,TreeGrid是一个非常实用的组件,它结合了树形结构和表格的功能,能够方便地展示层次化的数据。在这个简单的实例中,我们将探讨如何在TreeGrid中添加复选框并实现与JavaScript操作的交互。 创建一个基本的TreeGrid需要以下HTML代码: ```html <table class="easyui-treegrid" style="width:700px;height:250px" url="control_node_json?group_id=$info[id]&access_node=$_REQUEST[access_node]" idField="id" treeField="title" fit="true" toolbar="#control_node_toolbar_{$info[id]}"> <thead> <tr> <th field="title" width="200px" data-options="formatter:title_formatter">名称</th> <th field="name" width="200px">节点</th> <th field="status" width="50px">状态</th> <th field="remark">备注</th> </tr> </thead> </table> <div id="control_node_toolbar_{$info[id]}"> <a href="javascript:alert('test');" class="easyui-linkbutton" iconCls="icon-add" plain="true">控制</a> </div> ``` 这里的`url`属性用于指定数据源,`idField`和`treeField`分别指定了主键字段和显示为树节点的字段。`toolbar`属性用于设置工具栏。 为了在“名称”列中添加复选框,我们需要自定义一个`formatter`函数,将复选框插入到每行的数据中。这个过程可以通过`title_formatter`函数完成: ```javascript var access_node = '{$_REQUEST[access_node]}'.split(','); function title_formatter(value, node) { var content = '<input name="set_power" id="set_power_' + node.id + '" onclick="set_power_status(' + node.id + ')" class="set_power_status" type="checkbox" value="' + node.id + '" />' + value; return content; } ``` 这里,我们根据服务器返回的`access_node`值(以逗号分隔的字符串)来决定哪些复选框应该被预先选中。 然后,我们需要定义一个处理复选框点击事件的函数,例如`set_power_status`,在这里你可以编写实际的操作逻辑,比如更新数据或执行其他功能: ```javascript function set_power_status(menu_id) { alert('要调用的函数和操作方法写这里'); } ``` 需要注意的是,直接使用jQuery选择器如`$(set_power_1)`可能无法正确地获取到元素,因为EasyUI可能会对生成的DOM结构进行处理。在这种情况下,你可以通过`this`关键字或者传递的`node.id`参数来访问和操作相应的元素。 总结起来,这个实例展示了如何在jQuery EasyUI的TreeGrid中自定义列格式,添加复选框,并监听其点击事件。通过这种方式,我们可以创建一个具有交互性的树形表格,满足项目中添加、删除或修改数据等复杂需求。同时,EasyUI的API使得在HTML中直接配置组件的属性变得非常直观,降低了开发复杂度。
- 粉丝: 6
- 资源: 930
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助