下面的例子是引用12306的地址,输入地名全拼显示中文地名:
<div><p><input type="text" id="address" /><input type="button" id="btn" value="查询" /></p>
<p id="content"></p>
</div>
<script type="text/javascript" src="https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9050"></script>
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.3/jquery.min.js"></script>
<script>
$(function(){
$('#btn').click(function(){
getCnName($('#address').val())
})
function getCnName(name){
var arr = station_names.split('@')
for(var i in arr){
var son = arr[i].split('|')
if(son.length > 1){
if(son[3] == name){
$('#content').html("查询结果:" + son[1])
}
}
}
}
})
</script>
下面是演示效果:
将代码复制到一个html文件中,在浏览器打开就能用了。
JS既然是代码,自然转不了汉字,而且也毫无意义。如果是把汉字代码转为汉字,可以使用String.fromCharCode(字符的Ascii码),就可实现将ascii码转换成字符。
和google的输入提示一个道理,几乎所有Ajax入门书都讲这个。简单的说,输入框的onchange事件的响应函数里面增加一个xmlhttp请求,
服务器响应请求返回提示更新页面。
但是细节上考虑要多复杂有多复杂,
首先就是拼音到汉字,你需要找输入法的源代码,
然后就是缓存,数据库,安全性等等……
方案二:纯js
用js写一个输入法……
大致思路是页面用按音序排列的编码,如GB2312,然后以音序映射到字符编码上