本次給大家帶來的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 文件,截圖如下
我們先看原先的效果,打開remotedata.html
效果:
通過這個,我們已經可以看到,EasyUI自帶的匹配直接輸英文的可以,如果通過中文狀態的輸入英文會不匹配,但是再按任何一個鍵時候又開始匹配了。英文都已經有這個問題了,那中文呢,當然也是。
我們替換這個文件下的
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"
}]
我就是把英文換成了中文,刷新那個頁面,效果如下
這樣的自動匹配效果肯定不是你想要的吧
接下來我們修改 jquery.easyui.min.js,我用Notepad++打開的
Ctrl+F查找 keydown.combo ,我的在9871行
有人說,將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);
});
圖解位置:
除了
_75b.bind("input" ,function(e)
{
其他代碼:肯定不是我自己寫的,我沒那么神,只是看它的原理,這行代碼下面有
});
是自己寫的,其他的,是從下面粘貼過來的,在這里粘貼過來的(AaronYang)
把這行代碼復制到上面去試試,就可以了
我修改好的js下載 【下載】
刷新那個頁面,我們繼續再看下效果:
關於這個問題,我這里解決的大家看起來很簡單,但是研究起來,要看懂加了密的js代碼邏輯,還是很辛苦的,希望大家如果成功了,幫助到你了,給個好評啊~!
我下班了,還有個jquery.messager.js 修改,讓alert效果可以實現 自動消失的效果
明天寫吧,還請好友們多關注我的.NET方面的,EF Code First教程。
ASP.NET MVC4 in Action 我也好久沒有更新了,真的很對不起大家,有時間我會更新的哈
本文章是 Http://AaronYang.cnblogs.com AaronYang(楊洋)辛苦寫的,轉載時候,請標明出處