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 相关文章推荐
javascript OFFICE控件测试代码
Dec 08 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
Apr 02 Javascript
JS判断form内所有表单是否为空的简单实例
Sep 09 Javascript
js判断手机系统是android还是ios
Mar 07 Javascript
详解angular中通过$location获取路径(参数)的写法
Mar 21 Javascript
移动端手指放大缩小插件与js源码
May 22 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 Javascript
Vue 项目中遇到的跨域问题及解决方法(后台php)
Mar 28 Javascript
vue改变循环遍历后的数据实例
Nov 07 Javascript
微信小程序实现倒计时功能
Nov 19 Javascript
微信小程序实现下拉加载更多商品
Dec 29 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
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
基于jquery自定义图片热区效果
2012/07/21 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
基于node打包可执行文件工具_Pkg使用心得分享
2018/01/24 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
原生JavaScript实现拖动校验功能
2020/09/29 Javascript
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
Python基础篇之初识Python必看攻略
2016/06/23 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
python 6.7 编写printTable()函数表格打印(完整代码)
2020/03/25 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
css3新增颜色表示方式分享
2014/04/15 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
设计毕业生简历中的自我评价
2013/10/01 职场文书
法律专业应届本科毕业生求职信
2013/10/25 职场文书
反对邪教标语
2014/06/30 职场文书
工伤私了协议书范本
2014/11/24 职场文书
三年级学生评语大全
2014/12/26 职场文书
荆州古城导游词
2015/02/06 职场文书
钢琴师观后感
2015/06/12 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript