怎样用后台返回的json数据在前台组织树形
展开全部
这个问题说起来有点多。简单点来说分几步吧:
1、获取Json字符串,两个,一个是原始菜单项的json,一个是你保存的选中的菜单项的json。客户端获取到以后,eval成对象以便使用。一般来说,这个对象至少有id, title, pa
entid这三项,你要记录选中状态的话,可以再加一项,比如叫ischecked. 要是再讲究一点,可以再加一个字段来记录是否本次修改。这个实体对象集是每次操作的唯一数据容器,后面的操作也以此对象集合作为操作对象。
2、
ende
菜单,也就是把获取到的json生成菜单项。通常,我们习惯把菜单这么个东西封装成一个js组件,只需要把json传进去,容器对象传进去,让这个组件来完成构建及操作响应。所以,首先要有个生成菜单项的所在的容器,比如一个div。针对这个div里,用原生js或者jque
y来些个递归函数,按照json的数据循环生成树结构,无非就是append一些check
ox、li什么的配合上css显示的好看点,这个不用多说了吧?!
3、装载已选中的数据。这其实可以在上面一步生成菜单的时候同时完成,取决于你的json数据是怎么样的。要灵活的话,也可以在这一步里用ajax获取保存的菜单数据,eval成实体对象以后,循环往上一步生成的菜单项里写状态。
4、获取选中的项。用原生js或jque
y来循环你生成的菜单树,把checked的选出来就可以了,然后拼成json。这里根据第1步中你定义的对象的属性,可以取所有的,也可以只取本次有修改的,看你想怎么搞了。最后,用ajax把这个拼好的json发回服务器端就可以了。
1、获取Json字符串,两个,一个是原始菜单项的json,一个是你保存的选中的菜单项的json。客户端获取到以后,eval成对象以便使用。一般来说,这个对象至少有id, title, pa
entid这三项,你要记录选中状态的话,可以再加一项,比如叫ischecked. 要是再讲究一点,可以再加一个字段来记录是否本次修改。这个实体对象集是每次操作的唯一数据容器,后面的操作也以此对象集合作为操作对象。
2、
ende
菜单,也就是把获取到的json生成菜单项。通常,我们习惯把菜单这么个东西封装成一个js组件,只需要把json传进去,容器对象传进去,让这个组件来完成构建及操作响应。所以,首先要有个生成菜单项的所在的容器,比如一个div。针对这个div里,用原生js或者jque
y来些个递归函数,按照json的数据循环生成树结构,无非就是append一些check
ox、li什么的配合上css显示的好看点,这个不用多说了吧?!
3、装载已选中的数据。这其实可以在上面一步生成菜单的时候同时完成,取决于你的json数据是怎么样的。要灵活的话,也可以在这一步里用ajax获取保存的菜单数据,eval成实体对象以后,循环往上一步生成的菜单项里写状态。
4、获取选中的项。用原生js或jque
y来循环你生成的菜单树,把checked的选出来就可以了,然后拼成json。这里根据第1步中你定义的对象的属性,可以取所有的,也可以只取本次有修改的,看你想怎么搞了。最后,用ajax把这个拼好的json发回服务器端就可以了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询