再说combobox——onLoadSuccess用法实例
来源:互联网 发布:淘宝官方微博有哪些 编辑:程序博客网 时间:2024/05/21 09:09
不知道大家有没有发现,在easyUI的combobox实现级联这篇文章里
在对combobox设置的时候,我写了一个onLoadSuccess函数。
这个函数是在加载完远程数据成功后被触发,大致可以分为下面几种情况:
1、若不在onBeforeLoad中限制,无论用何种方式初始化时必触发一次,因为初始化时onBeforeLoad无论如何也都会触发一次
2、若不在onBeforeLoad中限制,在使用remote方式加载数据时,每次发起请求到成功接收到数据后都会触发一次
我之前写的onLoadSuccess函数是为了在进入修改表单的页面时,当主combobox加载数据并翻译完毕后,触发onLoadSuccess从而来加载并翻译级联combobox中的值。
因为级联的combobox完全是被动的,当新建的时候我们是在onSelect这个函数中触发的,而修改进来就需要依靠onLoadSuccess了。
下面看一下我之前的写法:
onLoadSuccess:function(){ var value = $(this).combobox('getValue'); if(value != ''){ <span style="white-space:pre"></span>$('[comboname=city]').combobox('reload', 'test/getCityListByProvince?id=' + $(this).combobox('getValue')); } }
这里先判断了主combobox中是否有值,若有值就去加载级联combobox中的数据去翻译。
有什么问题吗?
这对于editable:false的下拉选择框来说好像没什么问题,因为value肯定只能是对应的value,而不会是其他乱七八糟的东西
但是如果像前一篇文章一样是实现了combobox的自动提示功能的那似乎就有些问题了。
比如我们在输入关键字时,每输一个关键字,都会触发onLoadSuccess,且此时value也有值,且就是你输入的那个值(但是这里个人感觉combobox的设计有点问题,因为输入的值应该作为text才对,没有select之前,value都应该为空才对)
这样一来,就会多出很多错误的请求,因为级联的那个请求只需要在onSelect的时候触发才对。
那么如何改进呢?增加一个判断条件吧
方案1:if($(this).combobox('getValue') == $(this).combobox('getText')){return}
看似可行,但实际上发现输入速度过快时,两者的值会不一样!原因也没有深究,放弃之
方案2:由于我这里用到的value都是数字,所以可以用正则表达式判断
if(/^\d+$/.test(value)),这种方案暂时是可行的,但是也不完美,当用户输入数字时也会去触发关键字搜索,所以也得不到什么结果。
方案3:可以利用onBeforeLoad来判断
onBeforeLoad: function(param){ if(param == null || param.q == null || param.q.replace(/ /g, '') == ''){ var value = $(this).combobox('getValue'); if(value){// 这里可以判断为修改,在这去加载级联combobox中的数据 param.id = value; return true; } return false; } }方案2和方案3用哪种其实都可以达到目的~
- 再说combobox——onLoadSuccess用法实例
- combobox下拉框级联并且每一个框默认选择第一个值使用onLoadSuccess——easyUI
- MFC—ComboBox用法小结
- easyui form load onLoadSuccess 的用法
- EasyUI——datagrid 的onLoadSuccess事件无数据时提示
- EasyUI Form加载成功时onLoadSuccess的用法
- ComboBox用法
- Java再说JNI之实例
- 再说Maven——怎么用好Maven?
- 再说CSS3渐变——线性渐变
- 再说CSS3渐变——线性渐变
- 再说CSS3渐变——线性渐变
- 再说ActionMessages类及其用法
- ArrayCollection -- ComboBox 实例
- EasyUI——datagrid 的onLoadSuccess事件无数据时提示“没有相关记录”——给用户更好的视觉效果
- Combobox的用法
- ComboBox的用法
- 关于ComboBox的用法
- 二叉树的最大深度与最小深度
- TCP三次握手连接四次挥手终止连接
- 国际化工和价格和价格就会改好价格和工会级号
- C结构体之位域(位段)_chris
- 家公司开发公开就是客户价格空间设计个看工会的国家队
- 再说combobox——onLoadSuccess用法实例
- 静态导入的作用和实例
- 打印signed 及unsigned限定的char short int 及long类型变量的取值范围
- leetcode - Convert Sorted Array to Binary Search Tree
- 浅谈as2.0与as3.0
- 注册一个新账号,从今天开始写博客
- 写一些链表中头和尾节点/指针的常规用法
- IP地址分类
- git delete remote branches