不限级别联动

不限级别的联动,下边来看看代码的实现,先看看效果吧

只要点击下拉框的值,如果查询出下级还有内容则还会追加一个下拉框,这是一个简单的功能,看看代码吧

html

1 <div class="col-md-4">
2    @Html.DropDownList("infoSectionId", ViewData["InfoSectionFather"] as SelectList,"---请选择")
3    <span id="spanChild"></span>
4    </div>

js代码

  $(document).ready(function() {
//当点击第一个下拉框时
            $("#infoSectionId").change(function () {
                var selsecid = $(this).find("option:selected").val();
                GetChildRen(selsecid, "spanChild");
                $("#ChangeInfoSectionHidden").val(selsecid);
            });

            $("#spanChild").on("change", ".childselectshowlist", function (event) {
                var selsecid = $(this).find("option:selected").val();
                var selectText = $(this).find("option:selected").html();
                getChildRecTwo(selsecid, "spanChild", $("#spanChild select").index(this));
                $("#ChangeInfoSectionHidden").val(selsecid);//得到点击后的值

            });
        });
/// <summary>得到子级</summary>
        function GetChildRen(secid, domMainContain) {
            var selectpar = $("#" + domMainContain);
            selectpar.html("");
            if (secid == null || secid == -1) {
                return;
            }
            selectpar.append("<img src=‘/Content/Images/loading4.gif‘ id=‘childclassloadimgimg‘ />");
            $.post("/InfoSection/GetChild?q=" + new Date().getTime(), {
                ‘id‘: secid
            }, function(data) {
                //  alert(eval(data));
                $("#childclassloadimgimg").remove();
                if (eval(data).length > 0) {
                    var timeid = "classshowlist" + new Date().getTime();
                    selectpar.append(‘<select id="‘ + timeid + ‘" class="childselectshowlist" style="margin:0px 0px 0px 10px;"></select>‘);
                    selectpar.find("#" + timeid).append("<option value=‘-1‘ >请选择</option>");
                    $.each(eval(data), function(i, val) {
                        selectpar.find("#" + timeid).append("<option value=‘" + val.id + "‘>" + val.name + "</option>");
                    });
                }
            }, ‘json‘);
        };

Controller控制器代码

  [AuthorizationCodeAttribute]
        [Description("查询分类目录")]
        [HttpPost]
        public ActionResult GetChild()
        {
            string strId = Request.Params["id"];
            List<Hashtable> hashSectionList = new List<Hashtable>();
            int id = 0;
            int.TryParse(strId, out id);
            if (id > 0)
            {
                InfoSectionOperator dal = new InfoSectionOperator();
                IList<InfoSection> ilList = dal.GetList(string.Format("ParentId={0}", id));
                if (ilList.Count > 0)
                {
                    hashSectionList.AddRange(ilList.Select(FormtSimpData));
                }
            }
            return Json(hashSectionList, JsonRequestBehavior.AllowGet);
        }

不限级别联动

时间: 2025-01-16 08:55:28

不限级别联动的相关文章

无限级别联动,怎样才能做活?

对于级别联动,相信大家都不再陌生.级别联动讲的就是一些级别不同的管理机构,通过选取上一层的组织,显示下面组织的名称. 就好比说,我这里有三个下拉框,我通过第一个下拉框选择了廊坊师范学院,第二个下拉框列表中会出现:物电学院.数信学院等等,而通过我再选取物电学院等,来显示二级学院下的专业等. 概念了解了,那么我们来说逻辑,整体逻辑: 1.加载一级目录的选项. 2.通过选取一级目录下的值,根据id来获取二级目录下的选项. 3.通过选取二级目录下的值,根据id来获取三级目录下的选项. --以此类推. 刚

java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis

A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:313596790 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类,service等完整模块C 集成阿里巴巴数据库连接池druid;  数据库连接池  阿里巴巴的 druid.Druid在监控.可扩展性.稳定性和性能方面都有明显的优势D 集成安全

新手学EasyUi+JS----ComboBox 级联

最近在做一个EasyUi ComboBox的级别联动的效果,相关的内容如下: EasyUI刚接触,JS之前学过,不过在怎么用这方面自己还是个新手,不过现在还在不断的学习,实践出真知,这是硬道理,直接上代码: 前台的HTML代码: <span>学院:</span><input id="College" class="easyui-combobox" name="DropDownList_Course" style=&q

开源系统_二次开发(转)

转自http://www.phpchina.com/portal.php?mod=view&aid=40204, 更多详细资料请参看原文 最好最实用的二次开发教程 ◆二次开发 什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一 般来说都不会改变原有系统的内核. 为什么要二次开发? 随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或 是软件公司.选择和应用这些优秀的开源软件,并在此基础上进行

最好最实用的PHP二次开发教程

◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术的不断发展,IT行业涌现出了一系列优秀的开源作品,其作者或是个人,或是项目小组,或是软件公司.选择和 应用这些优秀的开源软件,并在此基础上进行符合业务需求的二次开发,将给企业节省信息化成本(时间成本及开发成本)的同时,更能带来技术上的保障.这就是 我们常听的:站在巨人的肩膀上,你将看的更远.所以国内

js省市联动

点击查看效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> JS实现的全国省份城市联动

JQUERY省、市、县城市联动选择

JQUERY 插件开发——CITYLINKAGE(省.市.县城市联动选择) 第一部分:背景   开发源于需求,本次城市联动选择插件算是我写插件的一个特例吧,不是我目前工作需要些的,算是兴趣驱使吧.之前呢,一直想写这个插件,然后错过了一个写这个插件的机会(这个得回顾到很久以前了...此处省去N个字).然后最近“瘾”又犯了,呵呵,随手就拿这个“欠”了很久的插件开刀了.大家都应该知道“某宝”的这个插件写的还是很强大的,支持到街道(镇)级别...可见他们维护的前端数据有多大...不过呢,临渊羡鱼,不如退

Kafka中Topic级别配置

一.Kafka中topic级别配置 1.Topic级别配置 配置topic级别参数时,相同(参数)属性topic级别会覆盖全局的,否则默认为全局配置属性值. 创建topic参数可以设置一个或多个--config "Property(属性)",下面是创建一个topic名称为"my-topic"例子,它设置了2个参数max message size 和 flush rate. (A)创建topic时配置参数 bin/kafka-topics.sh --zookeeper

mysql binlog限流问题总结

业务场景: 新建slave连到master,执行start slave时master险些被"搞死". 分析:新建slave连到master时,会将主库上大量的binlog(几百G)拉取到本地保存为relay log,会导致两个问题 1.主库网络带宽被占满 . 2.主库的磁盘I/O负载很高. 解决思路: 1. 在slave拉取master的binlog时,在I/O thread上做限流:每拉取一定数据量master的binlog则sleep时间N. 这个测试效果比较明显,但存在如下几个问