jQueryeasyUI combobox点击下拉触发事件

今天项目组接到一个优化需求,三级联动实现反选。
举例说明一下,例如本来是湖北-武汉-武昌。现在要实现选中武昌后,湖北-武汉自动带出。这个需求本来不困难。但是由于之前项目中对这块的三级联动进行了封装。导致修改很困难。
虽然最终是实现了这个效果,但是自己浪费了很多事件。这里说一下中间自己的发现的一个有意思的点。

三级联动:省-市-区域
这个需求中有一个要求是点击"区域"下拉的时候,自动加载该下拉框。之前的三级联动初始化的时候只加载了省份,后面的市和区域依赖前面的选项onselect事件。

Name Parameters Description
onSelect record Fires when the user selects a list item.


项目使用的是jQueryeasyUI。下拉使用的是combobox。这里自己陷入了一个怪圈,那就是怎么一直在想如何实现这个区域的点击下拉。因为这个实现了,后面的反选就比较简单。


我一直在想怎么实现"click"事件,没有想过是不是有其他事件可以替代。

想到的包括:

1combobox("textbox"),

2通过选择器找到,然后绑定(bind("click",function(){}))。

但是下拉这个元素是jQueryeasyUI自己生成的。如果通过选择器实现,后面很容易出现问题。

用第一种方法必须点击文本框才能触发事件,不满足需求。


然后我就在这个“怪圈”里转了一两个小时,想怎么实现比较好。还在权和利弊-.-
思来想去这两种方式都不可靠。


最后去官网查看combobox继承自那几个组件。有没有一些比较好的方法是自己不知道的。
发现combobbox依赖combo,而bombo依赖panel和textbox。如果是这样,那么combobox是不是也可以使用showPanel事件。
然后我试了一下,果然可以。
可以通过

console.log($("#sele").combobox("options"))

查看到combobox有哪些属性和方法。

最终问题解决了。但是也给自己提个醒。有时候如果思路不对,要及时更正方向。不然容易浪费事件。

知识使我快乐

发布了127 篇原创文章 · 获赞 30 · 访问量 28万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览