在项目里使用了EasyUI的Combobox,当ComboBox的item是英文时,都能正常检索出对应项,但是如果使用中文输入法输入几个字母然后通过按shift键输入时,奇怪的事情发生了,combobox无法检索出正确的值.

 
我们用的easyui版本是1.4.4
 
需要修改jquery.easyui.min.js  给combobox控件添加了一个input事件绑定:
 
在源码的12424行:if(opts.editable){ 在这个方法体}之前,加入代码:
 /**解决jQuery EasyUI Combo以及其继承者无法检索中文输入的问题**/
var _85b = t.combo("textbox");
_85b.bind("input",function(e){
if(_96e.timer){
clearTimeout(_96e.timer);
}
_96e.timer=setTimeout(function(){
var q=_85b.val();
if(_96e.previousValue != q){
_96e.previousValue = q;
//_672(_66c);
t.combo("showPanel");
opts.keyHandler.query.call(_96d, _85b.val(),e);
t.combo("validate");
// _67b(_96d, true);
}
},opts.delay);
});
/**end**/ 
其中各个变量的含义如下:
var _96e=t.data("combo");
var _96d=e.data.target;
var _85b = t.combo("textbox");//不能写成t.textbox
 
原理很简单,对combox的textbox父类添加bind事件。
 
 
===============================================================
顺便提一下在easyui 1.3.6版本中 jquery.easyui.min.js 11129行加入添加代码:
/******************/
_85b.bind("input",function(e){
if(_858.timer){
clearTimeout(_858.timer);
}
_858.timer=setTimeout(function(){
var q=_85b.val();
if(_858.previousValue!=q){
_858.previousValue=q;
$(_857).combo("showPanel");
opts.keyHandler.query.call(_857,_85b.val(),e);
$(_857).combo("validate");
}
},opts.delay);
/***********************/
 

jQuery EasyUI 1.4.4 Combobox无法检索中文输入的问题的更多相关文章

  1. jQuery EasyUI Combobox无法检索中文输入的问题

    在项目里使用了EasyUI的Combobox,当ComboBox的item是英文时,都能正常检索出对应项,但是如果使用中文输入法输入几个字母然后通过按shift键输入时,奇怪的事情发生了,combob ...

  2. jQuery EasyUI编辑DataGrid用combobox实现多级联动

    我在项目中设计课程表的时候需要用到老师和分类之间的多级联动. 首先是一张效果图: 下面是实现的代码: <body> <script type="text/javascrip ...

  3. EasyUI 1.3.2 中 Combobox自动检索 键盘上下选择Bug问题

    EasyUI 自带的Combobox控件,提供了下拉列值自动检索功能. 在用到的EasyUI 1.3.2版本中还是有点问题,在键盘上下键移动选择过程中只能定位在第一个,不能正常向下移动 问题解决方式: ...

  4. EASYUI 1.4版 combobox firefox 下不支持中文检索的问题

    easyui 的combobox 在IE下面输入中文,可以自动实现筛选和检索的功能,但是在firefox下面不可以. 于是查了一些资料,发现原来是浏览器对于中文输入法的处理问题,对于chrome 和 ...

  5. 第二百二十三节,jQuery EasyUI,ComboBox(下拉列表框)组件

    jQuery EasyUI,ComboBox(下拉列表框)组件,可以远程加载数据的下拉列表组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 C ...

  6. jquery easyui combobox 级联及触发事件,combobox级联

    jquery easyui combobox 级联及触发事件,combobox级联 >>>>>>>>>>>>>>&g ...

  7. jquery easyui combobox学习

    今天尝试了一下jquery easy ui的combobox,感觉蛮好用的,直接上代码吧 HTML如下 <div> <input id="btnBind" typ ...

  8. JQuery EasyUI Combobox的onChange事件

    html中的select 的change事件 <select id="consult_province" name="consult_province" ...

  9. jquery easyUI中combobox的使用总结

    jquery easyUI中combobox的使用总结 一.如何让jquery-easyui的combobox像select那样不可编辑?为combobox添加editable属性 设置为false ...

随机推荐

  1. linux 多线程基础1

    一.什么是线程        在一个程序里的多个执行路线就叫做线程.更准确的定义是:线程是“一个进程内部的一个控制序列”. 典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情. ...

  2. HW4.17

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  3. How Do I Deploy a Windows 8 App to Another Device for Testing?

    If your developing a new Windows 8 app and you want to test it on another device (e.g. Surface), you ...

  4. memcpy和strlen函数的实现

    #include <stdio.h> #include <stdlib.h> //malloc()函数 typedef unsigned int size_t; size_t ...

  5. typeof和instanceof 运算符

    instanceof运算符与typeof运算符相似,用于识别正在处理的对象的类型,但是在使用 typeof 运算符时采用引用类型存储值会出现一个问题. 无论引用的是什么类型的对象,它都返回 " ...

  6. IO 流—>>>补充

    流操作规律: 示例:1. 源: 键盘录入 目的: 控制台 2.源:文件 目的:控制台 3.源: 键盘录入 目的: 文件 基本规律: 面对流对象很多,不知道用哪一个的时候: 通过两个明确来完成 1.明确 ...

  7. NIO机制总结

    Selector selector = Selector.open(); 普通的IO流的读取,写入都是一个字节一个字节或一个字符一个字符的循环进行,在这个过程中,程序是阻塞的,inputStream虽 ...

  8. SEO为什么要求网页设计师用DIV+CSS布局网页?

    问:SEO为什么要求网页设计师用DIV+CSS布局网页? 答:通常情况下,SEOer非常喜欢把一个网站做到最细节,在网页设计方面,有时与设计师沟通时,通常会问到:SEO为什么要求网页设计师用DIV+C ...

  9. js去除空格

    function trim(str){ return str.replace(/(^\s*) | ( \s*$ )/g,"" ); }

  10. shell 脚本执行日志通用模块

    目标 实现记录SHELL执行的開始时间,结束时间.执行状态,错误信息等,以函数封装日志记录的方式,脚本调用函数 源代码 通用函数脚本program_log_new.sh function init_l ...