非常简单的一个医药项目二级联动,根据一个地域二级联动改动而来
主要js代码如下
<script type="text/javascript">
/*
* 说明:JS疾病联动
* 时间:2012/9/8
* 作者:宏鹰
* 调用:凭栏
* var areaMap1 = new AreaMap1('province1','city1');
* areaMap1.province('请选择科室','请选择疾病');
*
* <select id="province1" οnchange="areaMap1.city(this.value);"></select>
* <select id="city1"></select>
*/
var AreaMap1 = function (provinceid, cityid) {
var cityid = cityid;
var provinceid = provinceid;
var cityname;
var provincename;
var map = new Array(10);
map[0] = new comefrom("请选择科室", "请选择疾病");
map[1] = new comefrom("内科", "痛风|胆囊炎|肠梗阻|白血病|休克|贫血|血友病|过敏|甲状腺炎|侏儒症|中毒|心脏病|流行性感冒|慢性支气管炎|放射性肺炎|甲亢|心脏瓣膜病|心肌梗塞|先天性心脏病|心律失常|高血脂|冠心病|高血压|胰腺炎|肠结核|肺气肿|支气管炎|肺炎|肺结核|哮喘|感冒");
map[2] = new comefrom("外科", "肠炎|脑积水|破伤风|烧伤|肠结核|直肠脱垂|肛门疣病|肛门湿疹|肛周脓肿|阑尾炎|结肠息肉|结肠炎|肛裂|肛瘘|痔疮|便秘");
map[3] = new comefrom("男科", "附睾炎|遗精|早泄|阳痿|前列腺增生|前列腺炎");
map[4] = new comefrom("妇产科", "宫颈癌|子宫颈息肉|宫颈糜烂|乳腺增生|乳腺癌|尿道炎|附件炎|宫颈炎盆腔炎|阴道炎|子宫内膜异位症");
map[5] = new comefrom("儿科", "百日咳|川崎病|小儿感冒|婴幼儿腹泻|小儿哮喘|小儿多动症|小儿厌食症");
map[6] = new comefrom("五官科", "牙龈炎|远视|口吃|口炎|散光|红眼病|咽炎|声带息肉|扁桃体炎|喉炎|鼻炎|鼻囊肿|鼻窦炎|鼻息肉|中耳炎|外耳炎症|耳聋|耳鸣|牙髓炎|口腔溃疡|龋齿|口腔正畸|沙眼|斜弱视|近视|青光眼|白内障");
map[7] = new comefrom("皮肤性病科", "多汗症|疥疮|痤疮|艾滋病|尿道炎|软下疳|尖锐湿疣|疱疹|非淋|阴虱|淋病|梅毒|狐臭|带状疱疹|毛囊炎|手足癣|色斑|鱼鳞病|白癜风|白发|脱发|荨麻疹|湿疹|皮炎|牛皮癣");
map[8] = new comefrom("肿瘤科", "垂体瘤|大肠癌|皮肤癌|贲门癌|胆囊癌|食管癌|睾丸肿瘤|输尿管肿瘤|膀胱肿瘤|恶性淋巴瘤|急性白血病|神经胶质瘤|肺癌|脑瘤|骨癌|鼻咽癌|胰腺癌|甲状腺癌");
map[9] = new comefrom("精神病科", "失眠|妄想症|脑梗死|偏头疼|脑出血|癫痫|帕金森|神经衰弱|抑郁症|精神分裂|中风|老年痴呆");
map[10] = new comefrom("疾病科", "伤寒肠穿孔|有机磷杀虫药中毒|咬螫伤|高原病|中暑|毒蛇咬伤中毒|镇静催眠药中毒|失水|氨基甲酸酯类杀虫药中毒|高热惊厥|急腹症|拟除虫菊酯类杀虫药");
function $(id) { return document.getElementById(id); }
function comefrom(provinces, citys) { this.provinces = provinces; this.citys = citys; }
return {
province: function (provincename, cityname) {
provincename = provincename;
cityname = cityname;
$(provinceid).options.length = 0;
for (i = 0; i < map.length; i++) {
$(provinceid).options.add(new Option(map[i].provinces, map[i].provinces));
}
if (provincename != '' && cityname != '') {
$(provinceid).value = provincename;
this.city(provincename);
$(cityid).value = cityname;
}
},
city: function (provincename) {
$(cityid).options.length = 0;
for (i = 0; i < map.length; i++) {
if (map[i].provinces == provincename) {
var citys = (map[i].citys).split("|");
for (x = 0; x < citys.length; x++) {
$(cityid).options.add(new Option(citys[x], citys[x]));
}
}
}
}
}
}
</script>
第二部分js代码,这个主要是固定下拉框的默认值,初始为 “请选择科室” “请选择疾病” 可根据需要自行改动
<script>
var areaMap1 = new AreaMap1('province1', 'city1');
areaMap1.province('请选择科室', '请选择疾病');
//areaMap.province('内科','痛风');
</script>
科室:<select name="keshi" id="province1" οnchange="areaMap1.city(this.value);"></select>
疾病:<select name="jibing" id="city1"></select>