文档章节

递归反转显示地区级联

别人说我名字很长
 别人说我名字很长
发布于 2016/06/09 11:11
字数 191
阅读 47
收藏 3

修改项目时,项目地区是明山区,id是130303,要显示出来
这样的效果,然后想到了递归,通过递归去修改传址的值,以下是代码


//递归显示地区级联
func (this *Diqu) Edit_diqu() {
	id, _ := this.GetInt("id")
	var html string
	this.invertedTreeDiqu(id, &html)
	this.AjaxReturn(1, "ok", html)
}

//反转递归上一级select
func (this *Diqu) invertedTreeDiqu(id int, html *string) {
	where := dbmysql.NewWhere()
	where["id"] = id
	parent, _ := dbmysql.M("huanzhe_yun", "diqu").Field("parent").Where(where).One()
	if len(parent) == 0 {
		return
	}
	parentId, _ := strconv.Atoi(parent["parent"])

	where = dbmysql.NewWhere()
	where["parent"] = parentId
	sons, _ := dbmysql.M("huanzhe_yun", "diqu").Where(where).Select()
	if len(sons) == 0 {
		return
	}

	var html2 = `<select name="diquid" class="form-control diquid" style="width:auto;display:inline;margin-right:5px;" required="">`
	for _, v := range sons {
		if v["id"] == strconv.Itoa(id) {
			html2 += `<option value="` + v["id"] + `" selected>` + v["name"] + `</option>`
		} else {
			html2 += `<option value="` + v["id"] + `">` + v["name"] + `</option>`
		}
	}
	html2 += `</select>`

	*html = html2 + *html
	this.invertedTreeDiqu(parentId, html)
}

 

© 著作权归作者所有

别人说我名字很长
粉丝 58
博文 265
码字总数 113918
作品 0
济南
程序员
私信 提问
vue组件递归——级联菜单的实现

最近做项目经常会用到一些UI库,比如、等,这些能够快速构建应用的库真的十分方便。比如的级联菜单很是好用,但是在使用的同时不免起了一些疑惑,它是怎么做到多级联动,依我所知,如果一个数...

ALOLONGHUN
2018/01/09
0
0
通过递归算法完成树的级联勾选的一般思路

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在某个项目中,发现当tree上加上checkbox后,初始化该树时会特别慢。现场树上的节...

李晓晖
2016/09/14
0
0
趣味算法思想 -- 递归与二叉查找树(BST)

前言 上篇文章中,我们已经了解了生成一棵BST的过程,遗留的问题是如何遍历里面的节点。这一篇文章,我们使用递归的方法来解决一下这个问题,顺便探讨与二叉树相关的算法递归问题。 递归函数...

大灰狼的小绵羊哥哥
03/02
0
0
Hibernate关键字inverse和cascade

维护关联关系中,是否设置inverse属性: 1. 保存数据 有影响。 如果设置控制反转,即inverse=true, 然后通过部门方维护关联关系。在保存部门的时候,同时保存员工, 数据会保存,但关联关系不...

爪哇程序猿
2015/10/22
46
0
LeetCode 之 JavaScript 解答第206题 —— 反转链表(Reverse Linked List)

Time:2019/4/23 Title: Reverse Linked List Difficulty: Easy Author: 小鹿 题目:Reverse Linked List(反转链表) Reverse a singly linked list. Example: Follow up: A linked list ca......

不甘平凡的小鹿
04/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于运维,该怎么决定它的方向,这个似工作又似兴趣的存在

我之前主要从事网络、桌面、机房管理等相关工作,这些工作使我迷惘,这应该是大多数运维人都经历过的过程; 18年国庆,我从国内前三的消费金融公司裸辞,下海创业,就是想要摆脱这样的困境。...

网络小虾米
29分钟前
5
0
Java Timer的用法

Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("11232"); } }, 200000 , 1000); public void schedule(TimerTask task, long delay......

林词
33分钟前
5
0
使用js动态加载外部js文件以及动态创建script脚本

动态脚本指的是在页面加载时不存在,但将来的某一时刻通过修改该DOM动态添加的脚本。和操作HTML元素一样,创建动态脚本也有两种方式:插入外部文件和直接插入JavaScript代码。 动态加载外的外...

Bing309
40分钟前
3
0
从零开始入门 K8s | Kubernetes 网络概念及策略控制

作者 | 阿里巴巴高级技术专家 叶磊 一、Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法。大家知道 Kubernetes 对于网络具体实现方案,没有什么限制,也没有给出特...

阿里巴巴云原生
44分钟前
3
0
天气获取

本文转载于:专业的前端网站➨天气获取 $.get("http://wthrcdn.etouch.cn/WeatherApi", { citykey: cityCode }, function (d) { //创建文档对象 var parser = new ......

前端老手
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部