日期:2014-05-16  浏览次数:20339 次

全分送上了,大侠们帮帮忙吧,急的很!!!
现在省市地址三级联动的代码很多,但是客户认为下拉菜单下拉选择省市不太好找,要改成下面需求:
将SELECT框改成可输入下拉框,比如选择省,输入s,可输入下拉框下面就显示上海,四川等S开头的省份,如果选择上海,然后市的可输入下拉框输入c,就显示属于上海省的带C开始的市,比如显示崇明,同理选择崇明后,地区也如上一样.

难度太大,请高手们帮忙改改,客人等着用,急死了.

------解决方案--------------------
简单实现,LZ 自己改改吧!

L@_@K


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head>
<title> new document </title>
<meta name= "generator " content= "editplus " />
<meta name= "author " content= " " />
<meta name= "keywords " content= " " />
<meta name= "description " content= " " />
</head>

<body>
<h3> 仅以省为示例,纯 JS 实现,市、县思路完全一致。只需对三级联动略作修改即可使用 </h3>
<h3> 需要注意的是:回发数据中必须有 initial 一列,用于筛选。注:必须保证英文输入法状态 </h3>
<select id= "selProvince ">
<option value= "-1 "> --请选择 省-- </option>
<option value= "1 " intial= "b "> 北京市 </option>
<option value= "2 " intial= "s "> 上海市 </option>
<option value= "3 " intial= "t "> 天津市 </option>
<option value= "4 " intial= "c "> 重庆市 </option>
<option value= "5 " intial= "h "> 河北省 </option>
<option value= "6 " intial= "h "> 河南省 </option>
<option value= "7 " intial= "s "> 山东省 </option>
<option value= "8 " intial= "s "> 山西省 </option>
<option value= "8 " intial= "h "> 黑龙江省 </option>
</select>
<h3> 另,Select 本身就具有筛选功能!请保证在焦点存在的情况下,在下面的 Select 上输入 “黑” </h3>
<select onmouseover= "this.focus(); ">
<option value= "-1 "> --请选择 省-- </option>
<option value= "1 " intial= "b "> 北京市 </option>
<option value= "2 " intial= "s "> 上海市 </option>
<option value= "3 " intial= "t "> 天津市 </option>
<option value= "4 " intial= "c "> 重庆市 </option>
<option value= "5 " intial= "h "> 河北省 </option>
<option value= "6 " intial= "h "> 河南省 </option>
<option value= "7 " intial= "s "> 山东省 </option>
<option value= "8 " intial= "s "> 山西省 </option>
<option value= "8 " intial= "h "> 黑龙江省 </option>
</select>
<script type= "text/javascript ">
<!--
var oProvince = document.getElementById( "selProvince ");

var arrProvinces = new Array();
var optProvice;
// 保存省信息至对象数组
for (var i=0; i <oProvince.options.length; i++)
{
optProvice = oProvince.options[i];
arrProvinces[i] = {value:optProvice.value, intial:optProvice.intial, text:optProvice.text};
}

oProvince.onmouseover = function ()
{
this.focus();
};
oProvince.onkeypress = function ()
{