dhtmlxtree 后台获取前台tree选中的id以保存到数据库中
2014-02-04 11:06
381 查看
如果你还不知道如何创建一棵树,请看上一篇文档,thankyou思密达!
第一步:
<script type="text/javascript"> $(function(){ var tree2 = new dhtmlXTreeObject("treeboxbox_tree2","100%","100%",0); tree2.setImagePath("${ctx}/dhtmlxtree/csh_vista/"); tree2.enableCheckBoxes(1); tree2.enableThreeStateCheckboxes(true); //tree2.loadXML("${ctx}/dtree/tree3.xml"); //用EL表达式获取json数据 var json = ${json}; tree2.loadJSONObject(json);
//上面是已经把树木显示出来了,下面的代码就是把你选中的id传到后台
//注意的是传过去的也是所有id组成的Json数据格式
$("#submit").click(function(){ //$('input[name="selectedCol"]').val(tree2.getAllChecked()); //document.form1.submit(); var params = "selectedCol="+ tree2.getAllChecked() +"&x="+Math.random();
//id选择器,对应的表单和submit提交按钮一定要设置id与下面名字对应上 $.post($("#form").attr("action")+"?"+params,$("#form").serialize(),function(data){ }); return false; }); }); </script>
//注意id
<form id="form" name="form" action="${ctx}/security/addRole.action" method="post">
<input id="submit"type="submit" name="submit" value="提交"/>
第二步:你在Action类里要用到的:
var params = "selectedCol="+ tree2.getAllChecked() +"&x="+Math.random();中的selectedCol这个变量,
自然在Action里要是用属性接收,有set和get方法:
private String selectedCol;public String getSelectedCol() {return selectedCol;}public void setSelectedCol(String selectedCol) {this.selectedCol = selectedCol;}在后台接收到传递过来的id数据是这样的:{"1","1-1","1-2","f-1-1","2","2-1","f-2-1"}
第三步:
现在你要用的是id,所以接下来你就要想法获取你所需要的id,好了直接给你思路吧,就是用split()方法然后就能获得到你所需要的id,然后再保存到数据库里:方法如下:String[] para = getSelectedCol().split(",");System.out.println(getSelectedCol());for (int i = 0; i < para.length; i++) {String[] ss = para[i].split("-");if (ss.length == 1) {continue;}if (ss.length == 2) {role.getCols().add(columnService.queryById(Integer.parseInt(ss[1])));}if (ss.length == 3) {role.getPrivs().add(privilegeService.queryById(Integer.parseInt(ss[2])));}}好了tree的id就获取到并保存到数据库中了。如果想知道如何一进入页面就从数据库中把当前角色的树的id查出来,并在树的id设置自动选中,请看下篇文档,谢谢思密达!
相关文章推荐
- 牛腩购物9 用户表设计/动软生成器/金钱字段decimal(18, 2)/ 注册的时候的前台js判断/后台代码判断/正则表达式软件/RegexBuddy/设置数据库字段的唯一性约束/如何获取控件在前台html的id值/如何将C#的后台正则换成js的正则
- 在Iframe判断ExtJs tree控件选中的节点id并且传输到后台
- 获取jsp选中复选框的id传到后台controller,进行逻辑删除等操作
- php保存数据到数据库到后台显示删除编辑,到前台展示
- gridview,repeater,datalist等从后台获取前台控件的ID——总结
- 获取服务器端标签的ID、前台调用后台方法
- Yii2-保存数据库,获取最后添加的id
- 前台Listbox判断选中并进行排序,后台保存新排序内容
- JQuery Tree获取所有checkbox选中节点的id和内容
- 前台从数据库获取的字段在后台截取字符串
- jq 分页展示数据,选中checbox将选中的id保存起来传给后台
- aceAdmin fuelux tree 从后台获取数据,并设置节点ID等属性
- 前台通过js 写个ajax请求把数据传给后台,然后后台接收到这个数据, 再保存到数据库。。
- JQuery EasyUi Tree获取所有checkbox选中节点的id和内容
- ASP.Net 关于前台JS给input赋值后,runat="server" 后台利用ID.Value还是获取不到的问题
- DevExpress中XtraEditors.RadioGroup 控件如何保存获取选中的值及读取数据库中的值
- 生成静态页的 后台读取数据库,前台选中
- Tree客户端编辑,用store保存遍历后的TreeNode,传入到后台,后台用反序列解析出ArrayList,保存入数据库
- dhtmlxtree 后台查询数据获得id显示在tree中
- 前台的HTML标记中获取后台的变量