easyUI combobox实现联动效果


Posted in Javascript onJanuary 17, 2017

我在做项目时,经常用到easyUI框架,今天总结一下easyUI中的combobox吧
创建easyui-combobox的方法,在easyUI的官网都有:

1、从带有预定义结构的 元素创建组合框(combobox)

<select id="cc" class="easyui-combobox" name="dept" style="width:200px;">
  <option value="aa">aitem1</option>
  <option>bitem2</option>
  <option>bitem3</option>
  <option>ditem4</option>
  <option>eitem5</option>
</select>

2、从标记创建组合框(combobox)

<input id="cc" class="easyui-combobox" name="dept"
data-options="valueField:'id',textField:'text',url:'get_data.php'">

3、使用 javascript 创建组合框(combobox)

<input id="cc" name="dept" value="aa">

$('#cc').combobox({
  url:'combobox_data.json',
  valueField:'id',
  textField:'text'
});

json 数据格式的示例:

[{
  "id":1,
  "text":"text1"
},{
  "id":2,
  "text":"text2"
},{
  "id":3,
  "text":"text3",
  "selected":true
},{
  "id":4,
  "text":"text4"
},{
  "id":5,
  "text":"text5"
}]

它的属性和方法就不在赘述了,可以上官网查看。
下面来说一下关于两个combobox发联动

//初始化下拉列表
function InitCombobox() {
  $("#combobox_one").combobox({
    onLoadSuccess: function(){
      var types = $("#combobox_one").combobox('getData');
      if (types.length > 0){ 
        $("#combobox_one").combobox('select', types[0].Value); //全部
      }
    }
  });
  $("#combobox_two").combobox({ 
    url:'...';
    onLoadSuccess: function(){ 
      var types = $("#combobox_one").combobox('getData');
      if (types.length > 0){ 
        $("#combobox_two").combobox('select', types[0].Value); //全部
      }
    },
    onSelect: function(record){ 
      var url = '...' + record.Value;
      $("#combobox_one").combobox('reload', url);
    }
  });
$(function() {
  var typeData = [{
    text: "来源",
    value: "prodName"
  }, {
    text: "排放",
    value: "ars"
  }];
  var options01 = [{
    text: "生活污水",
    value: "eq"
  }, {
    text: "工业用水",
    value: "ne"
  }];
  var options02 = [{
    text: "工业用水",
    value: "ne"
  }, {
    text: "生活垃圾",
    value: "ge"
  }];
  //初始化查询项目的下拉列表
  $("#type").combobox({
    valueField: 'value',//值字段
    textField: 'text',//显示的字段
    data: typeData,
    panelHeight: 170,
    onSelect: function() {
      var myOptValue = $("#type").combobox("getValue");
      //1.清空原来的classify这个combobox中的选项
      $("#classify").combobox("clear");
      //2.动态添加"操作类型"的下拉列表框的option              
      if (myOptValue != null && (myOptValue == 'prodName' || myOptValue == 'prodStatus')) {
        console.info("myOptValue = " + myOptValue);
        $("#classify").combobox({
          panelHeight: 50,
          data: options01
        });
      } else {
        $("#classify").combobox({
          panelHeight: 140,
          data: options02
        });
      }
      //3.清空文本输入框——用户输入的条件              
      //$("#userInputCondition").val("");
    }
  });
  //初始化classify的下拉列表
  $("#classify").combobox({
    valueField: 'value',
    textField: 'text',
    data: options02,
    panelHeight: 140,
  });
});

下面是一个关于省市区的联动:

var h = $(window).height() * 0.65;
// 省级 
$('#province').combobox({
  valueField: 'name', //值字段
  textField: 'name', //显示的字段
  url: '/TidewaySHPServer/area/findAllProvince',//url为java后台查询省级列表的方法地址
  panelHeight: h,
  editable: true,
  //模糊查询
  filter: function(q, row) {
    var opts = $(this).combobox('options');
    return row[opts.textField].indexOf(q) == 0; //从头匹配,改成>=即可在任意地方匹配
  },
  onSelect: function(rec) {
    $('#city').combobox('setValue', "");
    $('#county').combobox('setValue', "");
    var url = '/TidewaySHPServer/area/findAllCity?parentId=' + rec.areaId;//url为java后台查询事级列表的方法地址
    $('#city').combobox('reload', url);
  }
});
//市区 
$('#city').combobox({
  valueField: 'name', //值字段
  textField: 'name', //显示的字段       
  panelHeight: 'auto',
  editable: false, //不可编辑,只能选择
  value: '',
  onSelect: function(rec) {
    $('#county').combobox('setValue', "");
    var url = '/TidewaySHPServer/area/findAllDistrictOrCounty?parentId=' + rec.areaId;//url为java后台查询区县级列表的方法地址
    $('#county').combobox('reload', url);
  }
});
//区 县
$('#county').combobox({
  valueField: 'areaId',
  textField: 'name',
  panelHeight: 'auto',
  editable: false,
});

基本上想写的都写完了,主要是多个combobox的联动效果,写的不完美大家相互学习一下

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

Javascript 相关文章推荐
Jquery 快速构建可拖曳的购物车DragDrop
Nov 30 Javascript
使用IE6看老赵的博客 jQuery初探
Jan 17 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
Jan 19 Javascript
js 程序执行与顺序实现详解
May 13 Javascript
使用documentElement正确取得当前可见区域的大小
Jul 25 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
Aug 02 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
利用express启动一个server服务的方法
Sep 17 Javascript
解决vue 打包发布去#和页面空白的问题
Sep 04 Javascript
关于ES6尾调用优化的使用
Sep 11 Javascript
Angularjs实现搜索关键字高亮显示效果
Jan 17 #Javascript
React Router基础使用
Jan 17 #Javascript
JavaScript自定义分页样式
Jan 17 #Javascript
javascript实现页面滚屏效果
Jan 17 #Javascript
javascript中递归的两种写法
Jan 17 #Javascript
基本DOM节点操作
Jan 17 #Javascript
React快速入门教程
Jan 17 #Javascript
You might like
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
php比较相似字符串的方法
2015/06/05 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
详解PHP队列的实现
2019/03/14 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
JS 建立对象的方法
2007/04/21 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
vuex的简单使用教程
2018/02/02 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
python服务器端收发请求的实现代码
2014/09/29 Python
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
python将字符串转换成数组的方法
2015/04/29 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
python实现将range()函数生成的数字存储在一个列表中
2020/04/02 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
关于旷工的检讨书
2014/02/02 职场文书
运动会通讯稿150字
2014/02/15 职场文书
小学运动会口号
2014/06/07 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
学习心得体会
2019/06/20 职场文书