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

前端之家收集整理的这篇文章主要介绍了EasyUI学习之Combobox级联下拉列表(2)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

1. HTML代码

信息查询
学校:
<label>院系:</label>
<input class="easyui-combobox" type="text" id="Faulty" />

<label>专业:</label>
<input class="easyui-combobox" type="text" id="Major" />

<label>班级:</label>
<input class="easyui-combobox" type="text" id="Class" />
区域:
<label>楼宇:</label>
<input class="easyui-combobox" type="text" id="Building" />

<label>楼层:</label>
<input class="easyui-combobox" type="text" id="Floor" />

<label>房间:</label>
<input class="easyui-combobox" type="text" id="Room" />   

2.显示

@H_301_43@

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',data: { type: 1,layer: 4 },'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.combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>("clear").combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>('loadData',0);
  Class.combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>("clear").combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>('loadData',0);

}

});

//院系下拉列表
var Faulty = $('#' + facultyId).comboBox({
valueField: 'Id',//不可编辑,只能选择
onChange: function (faculty) {

  if (faculty != 0) {

    var data = [];
    $.each(treeData,schoolData) {
      $.each(schoolData.children,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.combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>("clear").combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>('loadData',0);
  } else {
    Major.combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>("clear").combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>('loadData',0);
  }
  Class.combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>("clear").combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>('loadData',0);
}

});

//专业下拉列表
var Major = $('#' + majorId).comboBox({
valueField: 'Id',required: false,//不可编辑,只能选择
onChange: function (major) {

  if (major != 0) {

    var data = [];
    $.each(treeData,faultyData) {
        $.each(faultyData.children,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.combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>("clear").combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>('loadData',0);
  } else {
    Class.combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>("clear").combo<a href="https://www.jb51.cc/tag/Box/" target="_blank" class="keywords">Box</a>('loadData',0);
  }
}

});

//班级下拉列表
var Class = $('#' + classId).comboBox({
valueField: 'Id',//不可编辑,只能选择
});

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',0);
Major.comboBox("clear").comboBox('loadData',0);
Class.comboBox("clear").comboBox('loadData',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',0);
// Floor.comboBox("clear").comboBox('loadData',0);
// Room.comboBox("clear").comboBox('loadData',0);
// },'json');
// } else {
// Building.comboBox("clear").comboBox('loadData',0);
// Floor.comboBox("clear").comboBox('loadData',0);
// Room.comboBox("clear").comboBox('loadData',0);
// }
// }
// });

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

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

// //楼层下拉列表
// var Floor = $('#' + floorId).comboBox({
// valueField: 'Id',//不可编辑,只能选择
// onChange: function (floor) {

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

// //房间下拉列表
// var Room = $('#' + roomId).comboBox({
// valueField: 'Id',//不可编辑,只能选择
// });

// Building.comboBox("clear").comboBox('loadData',0);
// Floor.comboBox("clear").comboBox('loadData',0);
// Room.comboBox("clear").comboBox('loadData',0);
//}

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

4.Json数据

@H_301_43@

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

原文链接:https://www.f2er.com/js/43005.html

猜你在找的JavaScript相关文章