EasyUI Combobox 级联查询

来源:互联网 发布:st 8位单片机 编辑:程序博客网 时间:2024/04/28 17:27

        在维护市委组织部项目的时候,使用了级联组合框,维护的时候是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
原创粉丝点击