这点如同在OICQ中搜索名字,按下一个字母键,则第一个字母为此字母的单词或汉字就为当前的选项。
还有,如:在选项中有“张三”“张三火”两个人名用户按下"z""s""h"三个字后当前显示的选项就为“张三火”.
小弟是用D6的TWebmodule做服务器端,初次学习使用java,实在感觉无从下手。还望高手指点迷津。多谢多谢!!!
8 个解决方案
#1
不知道,学习ing!
#2
其实下拉列表中如果全是英文字母打头的话,浏览器本身就提供了这个功能,如果是汉字的话,你把焦点移到下拉列表,输入一个张字,它也会自动找到第一个姓张的名字的。
#3
一种自己写拼音
<select name="username" onkeydown=go()>
<option value="1" sp="ZS">张三</option>
<option value="2" sp="ZSH">张三火</option>
<option value="3" sp="LS">李四</option>
<option value="4" sp="LSS">李四水</option>
</select>
<script>
var sel="",timer=null;
function go(){
with(window.event){
with(srcElement){
if(keyCode<48)return;
if(keyCode>95)keyCode-=48
sel+=String.fromCharCode(keyCode)
window.status=sel
for(i=0;i<length;i++){
if(options[i].sp.indexOf(sel)==0){selectedIndex=i;break;}
}
}
returnValue=false;
clearTimeout(timer)
timer=setTimeout("sel=''",500);
}
}
</script>
<select name="username" onkeydown=go()>
<option value="1" sp="ZS">张三</option>
<option value="2" sp="ZSH">张三火</option>
<option value="3" sp="LS">李四</option>
<option value="4" sp="LSS">李四水</option>
</select>
<script>
var sel="",timer=null;
function go(){
with(window.event){
with(srcElement){
if(keyCode<48)return;
if(keyCode>95)keyCode-=48
sel+=String.fromCharCode(keyCode)
window.status=sel
for(i=0;i<length;i++){
if(options[i].sp.indexOf(sel)==0){selectedIndex=i;break;}
}
}
returnValue=false;
clearTimeout(timer)
timer=setTimeout("sel=''",500);
}
}
</script>
#4
http://www.blueidea.com/user/qswh/GB2312.html
#5
我曾经作过这种东西,是用数据库存储拼音和汉字对应表,再作查询
#6
谢谢秋水!
#7
我怎么结贴送分呀?
#8
若这方面的汉字比较多,可以写一个程序,自动提取汉字的拼音头放到数据库中,即如楼上朋友说:数据库存储拼音和汉字对应表,再作查询!
若需要源代码delphi或vb,留下email
若需要源代码delphi或vb,留下email
#1
不知道,学习ing!
#2
其实下拉列表中如果全是英文字母打头的话,浏览器本身就提供了这个功能,如果是汉字的话,你把焦点移到下拉列表,输入一个张字,它也会自动找到第一个姓张的名字的。
#3
一种自己写拼音
<select name="username" onkeydown=go()>
<option value="1" sp="ZS">张三</option>
<option value="2" sp="ZSH">张三火</option>
<option value="3" sp="LS">李四</option>
<option value="4" sp="LSS">李四水</option>
</select>
<script>
var sel="",timer=null;
function go(){
with(window.event){
with(srcElement){
if(keyCode<48)return;
if(keyCode>95)keyCode-=48
sel+=String.fromCharCode(keyCode)
window.status=sel
for(i=0;i<length;i++){
if(options[i].sp.indexOf(sel)==0){selectedIndex=i;break;}
}
}
returnValue=false;
clearTimeout(timer)
timer=setTimeout("sel=''",500);
}
}
</script>
<select name="username" onkeydown=go()>
<option value="1" sp="ZS">张三</option>
<option value="2" sp="ZSH">张三火</option>
<option value="3" sp="LS">李四</option>
<option value="4" sp="LSS">李四水</option>
</select>
<script>
var sel="",timer=null;
function go(){
with(window.event){
with(srcElement){
if(keyCode<48)return;
if(keyCode>95)keyCode-=48
sel+=String.fromCharCode(keyCode)
window.status=sel
for(i=0;i<length;i++){
if(options[i].sp.indexOf(sel)==0){selectedIndex=i;break;}
}
}
returnValue=false;
clearTimeout(timer)
timer=setTimeout("sel=''",500);
}
}
</script>
#4
http://www.blueidea.com/user/qswh/GB2312.html
#5
我曾经作过这种东西,是用数据库存储拼音和汉字对应表,再作查询
#6
谢谢秋水!
#7
我怎么结贴送分呀?
#8
若这方面的汉字比较多,可以写一个程序,自动提取汉字的拼音头放到数据库中,即如楼上朋友说:数据库存储拼音和汉字对应表,再作查询!
若需要源代码delphi或vb,留下email
若需要源代码delphi或vb,留下email