EasyUI的combobox使用总结

EasyUI的combobox使用总结一 combobox 的属性 事件和方法 combobox 可以配置属性 绑定事件监听 调用方法 理解这几个概念之后会对 combobox 有更清晰的了解 1 配置属性 combobox 可以配置自己的属性 他的属性可以定义在 lt input gt 或 lt select gt 标签的 data options 参数中 比如 lt selectid type name type cl

一,combobox的属性,事件和方法

combobox可以配置属性,绑定事件监听,调用方法,理解这几个概念之后会对combobox有更清晰的了解。

1,配置属性

combobox可以配置自己的属性,他的属性可以定义在

也可以在JavaScript代码中指定:

$('#type').combobox({          url:'getType.do',          valueField:'id',          textField:'text' });

其中url,valueField,textField,都是combobox的属性,属性值应该用引号包裹。

2,绑定事件

combobox可以绑定事件监听,事件可以绑定在

这个事件绑定表示选项更换之后会调用JavaScript中定义的changeType()函数

也可以在JavaScript代码中指定,比如用下面的代码绑定onSelect事件:

$('#type').combobox({          onSelect: function (n,o) {          } });

3,调用方法

combobox可以调用一些方法,可调用的方法参见EasyUI的文档。

比如调用setValue方法:

$("#type").combobox('setValue','somevalue')

其中’setValue’是方法名,’somvalue’是参数。

有的方法没有参数,比如getValue方法:

var number=$("#number").combobox('getValue');

 

二,combobox的普通操作

如果有如下的combobox定义:

$("#number").combobox({          onChange: function (n,o) {                    changeNumber();          } });

1,获取选中项的value

var number=$("#number").combobox('getValue');

获取的是下拉框选中项的value值,不是显示的文字。

2,获取选中项的文字

var number=$("#number").combobox('getText');

3,指定选中某项

$("#number").combobox('setValue','somevalue')

$("#number").combobox('select','somevalue')

combobox(‘setValue’)和combobox(‘select’)的相同点:

1,都会触发onchange事件。

2,如果下拉框的value中存在’somevalue’这个值时,combobox下拉框会自动选中这个选项,否则会在文本框中显示该值,不选中任何选项。

combobox(‘setValue’)和combobox(‘select’)的不同:

combobox(‘setValue’),不会触发onselect事件。即使目标value存在且被下拉框选中也不会触发。

combobox(‘select’),会触发onselect事件,即使目标value不存在也会触发,此时onselect事件中的参数n为null。

4,清空选中项

$("#number").combobox('clear');

该方法只能清空选中项,不会影响下拉框选项列表。

5,清空下拉选项列表

$("#number").combobox('loadData', {});

该方法会清空下拉框的所有选项。loadData方法本身是用来加载静态下拉框选项的。

6,重新加载下拉选项

$("#number").combobox('reload');

还可以添加url参数,按照新的url参数来加载下拉选项:

$("#number").combobox('reload',url);

7,得到下拉框的下拉选项类

var opts = $("#type").combobox("options");

和combobox(“getData”)不同,combobox(“options”)得到的并不是下拉选项的列表,而是一个对象结构。

比如有这样的combobox:

那么:

var valueField = $("#type").combobox("options").valueField;

得到的是字符串”id”。不含引号。

var url = $("#type").combobox("options").url;

得到的则是字符串’getType.do’。不含引号。

8,得到下拉框的全部数据

var allData = $("#type").combobox("getData");

该方法得到的是一个数组,可以用allData.length得到数组长度。也可以通过for循环来遍历。

数组的每个元素都代表一个下拉选项。

比如有这样的combobox:

那么:

$("#type").combobox("getData")[0]['id'];

代表获取第一个下拉选项的value值。

注意:必须使用[‘id’]的形式,笼统的使用[valueField]是错误的。

所以可以结合combobox(“options”)来达到统一的效果:

var field = $("#type").combobox("options").valueField; var allData = $("#type").combobox("getData"); var value=allData[0][field];

以上代码中的value就是第一个下拉选项的value值。

9,onChange事件

onchange是combobox中的值发生变化时触发的事件。

这个发生变化包括在文本框中输入文字,还有点击下拉框中的其他选项。

当在文本框输入文字时,如果两次键入文字的时间间隔较小,该事件不会触发,稍一停顿则会触发,这个时间目测大概零点几秒。

onchange可以这样定义:

$("#type").combobox({          onChange: function (n,o) {          } });

n代表新选择的下拉选项的value,或者在文本框中刚刚输入的文字。这取决于之前的值是选择下拉框选项而来还是在文本框中键入了文字。

o代表修改前的下拉选项的value,或者修改前在文本框中输入的文字。这取决于之前的值是选择下拉框选项而来还是在文本框中键入了文字。

 

10,onSelect事件

onselect是在combobox下拉框中更换下拉选项时触发的事件。

和onchange事件不同,在文本框中手动输入内容时不会触发onselect。

onselect可以这样定义:

$("#type").combobox({          onSelect: function (n,o) {          } });

n代表新选择的下拉选项。

o代表选择前的下拉选项。

注意,和onChange不同,onSelect的n和o代表的是选择之前和选择之后的下拉选项,可以通过:

n.value n.text

来获得选中项的value和文本内容

 

三,combobox的创建方式

EasyUI的combobox有以下几种创建方式:

1,

只需要在

比如:

 

2,

标签中添加data-options参数,并在参数值中设定url属性。

比如:

注意,动态下拉选项加载完成后,之前预加载的所有下拉选项会消失。

 

3,元素+预定义JSON

标签中添加class=”easyui-combobox”参数,另外在标签中添加data-options参数,并在参数值中设置data属性,data的值是JSON格式。

比如:

 

4,元素+动态加载下拉选项

标签中添加class=”easyui-combobox”参数,另外在标签中添加data-options参数,并在参数值中设定url属性。

比如:

valueField:’id’,表示url返回值中的id参数将被设置为下拉选项的value。

textField:’text’,表示url返回值中的text参数将被设置为下拉选项的文本内容。

url,url是请求地址,可以返回JSON列表格式,也可以返回其他key-value形式的列表。

如果是java+spring的组合,可以返回List
>格式,List中的每个Map代表一个下拉选项,Map.get(“id”)的值就是下拉选项的value的值,Map.get(“text”)的值就是下拉选项的文本。

建议使用org.springframework.web.bind.annotation.ResponseBody注解。

 

5,由jquery代码创建。

首先需要一个元素或

然后用如下代码创建combobox:

$('#type').combobox({     url:'getType.do',     valueField:'id',     textField:'text' });

实际上只要执行:

$('#type').combobox({});

就可以把元素或

除了以上代码中定义的参数之外,还可以绑定EasyUI的其他参数或事件。

 

四,其他几个属性,事件,方法简介

1,groupField属性

指定要被分组的字段。

2,groupFormatter属性

返回要显示在分组项目上的分组文本。

用函数的方式定义,类似绑定事件时的写法。

3,onBeforeLoad事件

在发起加载请求前触发的事件,如果方法返回了false,则不会加载。

4,onLoadSuccess事件

远程数据加载成功后触发的事件。

5,onLoadError事件

远程数据加载失败后触发的事件。

6,setValues方法

给combobox批量赋值并选中。

$('#type').combobox('setValues', ['1','2']);

7,unselect方法

取消选择指定value。

 

以上

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204606.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午7:57
下一篇 2026年3月19日 下午7:57


相关推荐

  • navicat激活码无法生成【2021免费激活】[通俗易懂]

    (navicat激活码无法生成)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1…

    2022年3月27日
    131
  • pycharm中更新pip版本的问题「建议收藏」

    pycharm中更新pip版本的问题「建议收藏」经常使用Python的都知道pip,但有时候,下载某个模块不成功,提示信息如下pytharm查看自带的pip版本解决方式一:pytharm的terminal里卸载pip再安装pip如果还不行,解决方式二去你当前的项目路径下找到lib文件夹下的site-packages,删除相关的pip版本再去file——>settings查看自带pip版本的地方,…

    2022年8月29日
    9
  • springcloud微服务搭建_域名301重定向教程

    springcloud微服务搭建_域名301重定向教程前言1.由于我只有一台nginx服务器,那么想要实现一个服务器的多个网站的搭建,在html目录下建立多个文件夹,并用url转发使得不同的二级域名指向html文件夹下的不同子文件夹,这样做便能做到“多个网站”的效果。2.url转发也能够使得一个网站拥有几个域名比如wikipedia.com和wikipedia.net都指向了wikipedia.org。当你访问wikipedia.com或wikipedia.net的时候,跳转出来的页面是wikipedia.org的页面3.重定向是带有状态码的响应,我

    2022年10月19日
    7
  • C语言文件操作(含详细步骤)

    C语言文件操作(含详细步骤)文章目录一 为什么使用文件 二 什么是文件 1 程序文件 2 数据文件 3 文件名三 文件的打开和关闭 1 文件指针 2 文件的打开和关闭 4 文件的顺序读写一 为什么使用文件 当我们在编写一个项目的时候 自然而然想到要把之前写入的数据保存起来 而只有我们自己选择删除数据的时候 数据才不复存在 这就涉及到了数据持久化的问题 我们一般数据持久化的方法有 把数据存放在磁盘文件 存放到数据库等方式 此处我们就讲到如何将数据放入到磁盘文件当中 二 什么是文件 磁盘上的文件就是文件 例如电脑当中的 C 盘内放入的文件夹内

    2026年3月19日
    2
  • Android 结合实例学会AsyncTask的使用方法

    Android 结合实例学会AsyncTask的使用方法

    2021年12月13日
    44
  • C++求素数模板[通俗易懂]

    C++求素数模板[通俗易懂]欢迎访问我的PAT技巧篇boolisprime(inta){//素数=质数 if(a<=1)returnfalse; intsqr=(int)sqrt(a*1.0); for(inti=2;i<=sqr;i++) if(a%i==0)returnfalse; returntrue;

    2022年7月19日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号