EasyUI Combobox 级联查询

        在维护市委组织部项目的时候,使用了级联组合框,维护的时候是Asp.net,纯三层架构+Aspx页面+ashx(一般处理程序),在重构市委组织部项目的时候,用到了ITOO的框架,在ITOO4.1项目中熟悉了基本的框架,组织部项目中搭了三次框架,对框架的理解更深刻了一些;

        ITOO框架,前台使用MVC,在页面cshtml和Controller之间传值,实现级联组合框,代码和维护时候的一样;

前台页面代码:

  单位类别:
    <input id ="unitCategory" class="easyui-combobox" name ="cc" data-options="
        method:'get',
        valueField:'id',
        textField:'text',
        url:'/CadresRate/queryCategory',
        panelHeight:'auto',
        onSelect:function(rec)          //rec表示被选择的内容,把id值传到controller中;                          
        {
            var url ='/CadresRate/queryUnitName?id=' +rec.id ;
            $('#unitName').combobox('reload',url);    //重新加载单位名称的组合框;
        }
"/>
    单位名称
    <input id ="unitName2" class ="easyui-combobox" name ="cc" data-options="
        panelHeight:'auto',
        valueField:'id',
        textField:'id'
        " />

Controller中代码:

        页面加载查询出所有的单位类别;

        #region queryCategory + 查询单位类型 范晓权 2016年2月26日
        /// <summary>
        /// 查询单位类型;
        /// </summary>
        /// <returns></returns>
        public JsonResult queryCategory()
        {
            //定义一个字典的ViewModel
            BasicDictionaryViewModel vBasicDictionary = new BasicDictionaryViewModel()
            {
                //表示设置vBasicDictionary.DictionaryType = 5
                DictionaryType = 5
            };
            //调用服务器的查询类型的方法;
            List<BasicDictionaryViewModel> basicDictionary = IBasicDictionary.queryType(vBasicDictionary);
            
            //选择字典id 和 基础信息
            var unitCategory = from c in basicDictionary
                               select new
                               {
                                   id = c.DictionaryName,
                                   text = c.BasicInfoType

                               };
            return Json(unitCategory, JsonRequestBehavior.AllowGet);
        } 
        #endregion

<pre name="code" class="csharp">        #region queryUnitName 根据单位类别查询单位名称;
        /// <summary>
        /// queryUnitName
        /// </summary>
        /// <returns></returns>
        public JsonResult queryUnitName()
        {
            string type = Request["id"].ToString();

            //
            if (type == "xsq")
            {
                List<CityBasicInfoViewModel> cityBasicInfoList = ICityBasicInfo.queryAllCity();
                var tempCityBasicInfoList = from c in cityBasicInfoList
                                            select new
                                            {
                                                id = c.CityID,
                                                text = c.CityName
                                            };
                return Json(tempCityBasicInfoList, JsonRequestBehavior.AllowGet);
            }
            else if (type == "szdw")
            {
                List<UnitBasicInfoViewModel> unitBasicInfoList = IUnitBasicInfo.queryAllUnit();
                var tempUnitBasicInfoList = from p in unitBasicInfoList
                                        select new
                                        {
                                            id = p.UnitID,
                                            text = p.UnitName
                                        };


                return Json(tempUnitBasicInfoList, JsonRequestBehavior.AllowGet);
            }
            else if (type == "kfq")
            {
                List<DevelopmentBasicInfoViewModel> developmentBasicInfoList = IDevelopmentBasicInfo.queryAllDevelopment();
                var tempDevelopmentBasicInfoList = from a in developmentBasicInfoList
                                                   select new
                                                   {
                                                       id = a.DevelopmentID,
                                                       text = a.DevelopmentName
                                                   };
                return Json(tempDevelopmentBasicInfoList, JsonRequestBehavior.AllowGet);
            }
            else
            {
                return null;
            }
        }

 

效果图:


总结:

        举一反三,根据二级的级联菜单,可以发展为N级的级联,省,市,县也是级联中经常用到的,多实现,积累自己的代码库,很重要。经常用到的内容就收藏或者写出来;



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值