• 茗洋Easy UI 1.3.2 部分问题解决系列专题[Combo模糊匹配中文问题 修复]


    本次给大家带来的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.2democombobox 文件,截图如下

    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

    关于这个问题,我这里解决的大家看起来很简单,但是研究起来,要看懂加了密的js代码逻辑,还是很辛苦的,希望大家如果成功了,帮助到你了,给个好评啊~!

    我下班了,还有个jquery.messager.js    修改,让alert效果可以实现  自动消失的效果

    明天写吧,还请好友们多关注我的.NET方面的,EF Code First教程。

     ASP.NET MVC4 in Action 我也好久没有更新了,真的很对不起大家,有时间我会更新的哈

     

    本文章是 Http://AaronYang.cnblogs.com  AaronYang(杨洋)辛苦写的,转载时候,请标明出处

  • 相关阅读:
    jquery 操作大全
    http获取图片信息
    微信公众号服务号与订阅号有什么区别?
    国际语言代码 Language Code
    vs 2012 未能找到与约束contractName Microsoft.VisualStudio.Utilities...匹配的导出
    SQL Server 获取满足条件的每个条件下的前N条数据
    使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
    Visual Studio 2017 添加引用报错(未能正确加载ReferenceManagerPackage包)
    html之select标签
    jQuery中Ajax的属性设置
  • 原文地址:https://www.cnblogs.com/AaronYang/p/3273126.html
Copyright © 2020-2023  润新知