EasyUI学习之Combobox级联下拉列表(2)

发布时间 - 2026-01-10 22:12:26    点击率:

本文实例为大家分享了EasyUI Combobox级联下拉列表的具体代码,供大家参考,具体内容如下

1. html代码

<fieldset>
  <legend>信息查询</legend>
  <div style="white-space: nowrap; padding: 5px;">
    <label>学校:</label>
    <input class="easyui-combobox" type="text" id="School" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    <label>院系:</label>
    <input class="easyui-combobox" type="text" id="Faulty" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    <label>专业:</label>
    <input class="easyui-combobox" type="text" id="Major" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    <label>班级:</label>
    <input class="easyui-combobox" type="text" id="Class" />
    &nbsp;&nbsp;&nbsp;&nbsp;      
  </div>
  <div style="white-space: nowrap; padding: 5px;">
    <label>区域:</label>
    <input class="easyui-combobox" type="text" id="Area" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    <label>楼宇:</label>
    <input class="easyui-combobox" type="text" id="Building" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    <label>楼层:</label>
    <input class="easyui-combobox" type="text" id="Floor" />
    &nbsp;&nbsp;&nbsp;&nbsp;
    <label>房间:</label>
    <input class="easyui-combobox" type="text" id="Room" />   
  </div>
</fieldset>

2.显示

3.js代码

//获取组织机构数据
function GetDeptTreeData() {
  var queryDataDept = { layer: 3, isUsing: false }; //表示获取层数到院系,不启用的节点不显示
  $.ajax({
    type: 'post',
    url: '/Common/GetDetptTree',//指向后台的Action来获取当前用户的信息的Json格式的数据
    dataType: 'json',
    data: queryDataDept,
    success: function (treedata) {
      InitDepartment(treedata, 'School', 'Faulty', 'Major', 'Class');
    }
  });

}
//获取建筑机构数据
function GetBuildingTreeData() {
  $.ajax({
    type: 'post',
    url: '/Common/GetTreeData',//指向后台的Action来获取当前用户的信息的Json格式的数据
    dataType: 'json',
    data: { type: 1, layer: 4 },
    success: function (treedata) {
      InitDepartment(treedata, 'Area', 'Building', 'Floor', 'Room');
    }
  });
}
//初始化组织机构下拉列表框
function InitDepartment(treeData, schoolId, facultyId, majorId, classId) {
  //////////////////////////////////////级联下拉列表框//////////////////////////

  var localData = [{ "Id": 0, "Name": "全部" }];
  //学校下拉列表
  var School = $('#' + schoolId).combobox({
    valueField: 'Id', //值字段
    textField: 'Name', //显示的字段
    panelHeight: 'auto',
    required: true,
    editable: false,//不可编辑,只能选择
    onChange: function (school) {
      if (school != 0) {
        var data = [];
        $.each(treeData, function (schoolIndex, schoolData) {
          if (schoolData.id == school) {
            data.push({ 'Id': 0, 'Name': '全部' });
            $.each(schoolData.children, function (faultyIndex, faultyData) {
              data.push({ 'Id': faultyData.id, 'Name': faultyData.text });
            });
          }
        });
        Faulty.combobox("clear").combobox('loadData', data).combobox('select', 0);
      } else {
        Faulty.combobox("clear").combobox('loadData', localData).combobox('select', 0);
      }

      Major.combobox("clear").combobox('loadData', localData).combobox('select', 0);
      Class.combobox("clear").combobox('loadData', localData).combobox('select', 0);

    }
  });

  //院系下拉列表
  var Faulty = $('#' + facultyId).combobox({
    valueField: 'Id', //值字段
    textField: 'Name', //显示的字段
    panelHeight: 'auto',
    required: true,
    editable: false,//不可编辑,只能选择
    onChange: function (faculty) {

      if (faculty != 0) {

        var data = [];
        $.each(treeData, function (schoolIndex, schoolData) {
          $.each(schoolData.children, function (faultyIndex, faultyData) {
            if (faultyData.id == faculty) {
              data.push({ 'Id': 0, 'Name': '全部' });
              $.each(faultyData.children, function (majorIndex, majorData) {
                data.push({ 'Id': majorData.id, 'Name': majorData.text });
              });
            }
          });
        });

        Major.combobox("clear").combobox('loadData', data).combobox('select', 0);
      } else {
        Major.combobox("clear").combobox('loadData', localData).combobox('select', 0);
      }
      Class.combobox("clear").combobox('loadData', localData).combobox('select', 0);
    }
  });

  //专业下拉列表
  var Major = $('#' + majorId).combobox({
    valueField: 'Id', //值字段
    textField: 'Name', //显示的字段
    panelHeight: 'auto',
    required: false,
    editable: false,//不可编辑,只能选择
    onChange: function (major) {

      if (major != 0) {

        var data = [];
        $.each(treeData, function (schoolIndex, schoolData) {
          $.each(schoolData.children, function (faultyIndex, faultyData) {
            $.each(faultyData.children, function (majorIndex, majorData) {
              if (majorData.id == major) {
                data.push({ 'Id': 0, 'Name': '全部' });
                $.each(majorData.children, function (classIndex, classData) {
                  data.push({ 'Id': classData.id, 'Name': classData.text });
                });
              }
            });
          });
        });

        Class.combobox("clear").combobox('loadData', data).combobox('select', 0);
      } else {
        Class.combobox("clear").combobox('loadData', localData).combobox('select', 0);
      }
    }
  });

  //班级下拉列表
  var Class = $('#' + classId).combobox({
    valueField: 'Id', //值字段
    textField: 'Name', //显示的字段
    panelHeight: 'auto',
    required: false,
    editable: false,//不可编辑,只能选择
  });

  var schoolData = [];//创建学校数组
  schoolData.push({ 'Id': 0, 'Name': '全部' });
  $.each(treeData, function (index, data) {
    schoolData.push({ 'Id': data.id, 'Name': data.text });
  });

  School.combobox("clear").combobox('loadData', schoolData).combobox('select', 0);
  Faulty.combobox("clear").combobox('loadData', localData).combobox('select', 0);
  Major.combobox("clear").combobox('loadData', localData).combobox('select', 0);
  Class.combobox("clear").combobox('loadData', localData).combobox('select', 0);
}

//初始化建筑下拉列表框 ---- 已经弃用,使用InitDepartment来处理,不使用树形数据,根据父节点id获取数据
//function InitBuilding(treeData, areaId, buildingId, floorId, roomId) {
//  //////////////////////////////////////级联下拉列表框//////////////////////////

//  var localData = [{ "Id": 0, "Name": "全部" }];
//  //园区下拉列表
//  var Area = $("#" + areaId).combobox({
//    valueField: 'Id', //值字段
//    textField: 'Name', //显示的字段
//    url: '/Building/GetBuildingInfoListJson?parentid=0&type=1',
//    panelHeight: 'auto',
//    required: false,
//    editable: false,//不可编辑,只能选择
//    loadFilter: function (data) {
//      data.unshift({ "Id": 0, "Name": "全部", select: true });//在数组第一项添加数据
//      return data;
//    },
//    onChange: function (area) {
//      if (area != 0) {
//        $.get('/Building/GetBuildingInfoListJson', { type: 2, parentid: area }, function (data) {
//          data.unshift({ "Id": 0, "Name": "全部" });//在数组第一项添加数据
//          Building.combobox("clear").combobox('loadData', data).combobox('select', 0);
//          Floor.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//          Room.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//        }, 'json');
//      } else {
//        Building.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//        Floor.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//        Room.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//      }
//    }
//  });

//  //楼宇下拉列表
//  var Building = $('#' + buildingId).combobox({
//    valueField: 'Id', //值字段
//    textField: 'Name', //显示的字段
//    panelHeight: 'auto',
//    required: false,
//    editable: false,//不可编辑,只能选择
//    onChange: function (building) {

//      if (building != 0) {
//        $.get('/Building/GetBuildingInfoListJson', { type: 3, parentid: building }, function (data) {
//          data.unshift({ "Id": 0, "Name": "全部" });//在数组第一项添加数据
//          Floor.combobox("clear").combobox('loadData', data).combobox('select', 0);
//          Room.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//        }, 'json');
//      } else {
//        Floor.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//        Room.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//      }
//    }
//  });

//  //楼层下拉列表
//  var Floor = $('#' + floorId).combobox({
//    valueField: 'Id', //值字段
//    textField: 'Name', //显示的字段
//    panelHeight: 'auto',
//    required: false,
//    editable: false,//不可编辑,只能选择
//    onChange: function (floor) {

//      if (floor != 0) {
//        $.get('/Building/GetBuildingInfoListJson', { type: 4, parentid: floor }, function (data) {
//          data.unshift({ "Id": 0, "Name": "全部" });//在数组第一项添加数据
//          Room.combobox("clear").combobox('loadData', data).combobox('select', 0);
//        }, 'json');
//      } else {
//        Room.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//      }
//    }
//  });

//  //房间下拉列表
//  var Room = $('#' + roomId).combobox({
//    valueField: 'Id', //值字段
//    textField: 'Name', //显示的字段
//    panelHeight: 'auto',
//    required: false,
//    editable: false,//不可编辑,只能选择
//  });

//  Building.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//  Floor.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//  Room.combobox("clear").combobox('loadData', localData).combobox('select', 0);
//}

//初始化其他下拉列表
//function BindDictItem(comboid, catlog) {
//  $('#' + comboid).combobox({
//    valueField: 'Value',
//    textField: 'Name',
//    url: '/Dictionary/GetComboBoxValue?name=' + catlog,
//    panelHeight: 'auto',
//    required: false,
//    editable: false,//不可编辑,只能选择
//    loadFilter: function (data) {
//      data.unshift({ "Value": '0', "Name": "全部" });//在数组第一项添加数据
//      return data;
//    },
//  });
//}

4.Json数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# EasyUI  # Combobox级联下拉列表  # Combobox下拉列表  # Combobox级联下拉  # jQuery EasyUI中DataGird动态生成列的方法  # EasyUI学习之Combobox下拉列表(1)  # EasyUI 数据表格datagrid列自适应内容宽度的实现  # Easyui Datagrid自定义按钮列(最后面的操作列)  # easyUI下拉列表点击事件使用方法  # easyui combogrid实现本地模糊搜索过滤多列  # EasyUI使用DataGrid实现动态列数据绑定  # jquery easyui如何实现格式化列  # jEasyUI 设置冻结列的实现示例  # 第一项  # 院系  # 级联  # 园区  # 大家分享  # 信息查询  # 具体内容  # 大家多多  # 数到  # Room  # Area  # js  # Floor  # Class  # Major  # Faulty  # Building  # amp  # nbsp  # function 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  JavaScript Ajax实现异步通信  如何在Windows服务器上快速搭建网站?  简单实现jsp分页  如何挑选优质建站一级代理提升网站排名?  如何在IIS服务器上快速部署高效网站?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Java解压缩zip - 解压缩多个文件或文件夹实例  JS弹性运动实现方法分析  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel如何生成URL和重定向?(路由助手函数)  详解Oracle修改字段类型方法总结  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何在香港免费服务器上快速搭建网站?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  如何在橙子建站上传落地页?操作指南详解  javascript中对象的定义、使用以及对象和原型链操作小结  如何在局域网内绑定自建网站域名?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何用wdcp快速搭建高效网站?  如何快速搭建高效服务器建站系统?  利用python获取某年中每个月的第一天和最后一天  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  微信h5制作网站有哪些,免费微信H5页面制作工具?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  linux top下的 minerd 木马清除方法  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Python函数文档自动校验_规范解析【教程】  Android自定义控件实现温度旋转按钮效果  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  网站制作免费,什么网站能看正片电影?  如何在橙子建站中快速调整背景颜色?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  如何用IIS7快速搭建并优化网站站点?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  如何用AWS免费套餐快速搭建高效网站?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  网页设计与网站制作内容,怎样注册网站?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted