[转载]茗洋Easy UI 1.3.2 部分问题解决系列专题[Combo模糊匹配中文问题 修复] - AaronYang - 博客园

[转载]茗洋Easy UI 1.3.2 部分问题解决系列专题[Combo模糊匹配中文问题 修复] – AaronYang – 博客园.

本次给大家带来的EasyUI的我研究拓展的新特性

我使用的是  EasyUI 1.3.2版本的,项目是ASP.NET MVC3,但是本篇讲解用不上ASP.NET MVC,仅仅修改官方Demo你就知道怎么用了

但这次我都是自己修改EasyUI源码完成的

首先大家先下载官方的 EasyUI 1.3.2    【 下载 】 先保证大家都是在同一个起跑线的,放心吧,我会教你们怎么改的,还有思路

 

1. EasyUI Combo 在火狐和谷歌下 中文 模糊匹配问题

大家下载好官方的EasyUI的最新版1.3.2后,打开  属于你们的目录

\JQuery-easyui-1.3.2\demo\combobox 文件,截图如下

image

我们先看原先的效果,打开remotedata.html

image

效果:

last

通过这个,我们已经可以看到,EasyUI自带的匹配直接输英文的可以,如果通过中文状态的输入英文会不匹配,但是再按任何一个键时候又开始匹配了。英文都已经有这个问题了,那中文呢,当然也是。

我们替换这个文件下的

image

JSON代码如下,换成中文:

[{
    "id":1,
    "text":"山东省",
    "desc":"Write once, run anywhere"
},{
    "id":2,
    "text":"C#",
    "desc":"One of the programming languages designed for the Common Language Infrastructure"
},{
    "id":3,
    "text":"北京市",
    "selected":true,
    "desc":"A dynamic, reflective, general-purpose object-oriented programming language"
},{
    "id":4,
    "text":"上海市",
    "desc":"A high-level, general-purpose, interpreted, dynamic programming language"
},{
    "id":5,
    "text":"天津市",
    "desc":"A family of general-purpose, high-level programming languages"
}]

我就是把英文换成了中文,刷新那个页面,效果如下

zaogao

这样的自动匹配效果肯定不是你想要的吧

接下来我们修改 JQuery.easyui.min.js,我用Notepad++打开的

image

Ctrl+F查找 keydown.combo ,我的在9871行

image

image

有人说,将keydown.combo改成 keyup.combo,本人亲自试过,没用…

定位这行代码后,我们在9867行代码下

添加如下代码就可以解决

 

_75b.bind("input" ,function(e)
{
    if(_758.timer){
    clearTimeout(_758.timer);
    }
    _758.timer=setTimeout(function(){
    var q=_75b.val();
    if(_758.previousValue!=q){
    _758.previousValue=q;
    $(_757).combo("showPanel");
    opts.keyHandler.query.call(_757,_75b.val());
    _767(_757,true);
    }
    },opts.delay);
});

 

图解位置:

image

除了

_75b.bind("input" ,function(e)
{



其他代码:肯定不是我自己写的,我没那么神,只是看它的原理,这行代码下面有


});

是自己写的,其他的,是从下面粘贴过来的,在这里粘贴过来的(AaronYang)

image

把这行代码复制到上面去试试,就可以了

我修改好的js下载      【下载

刷新那个页面,我们继续再看下效果:

end

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏