Skip to content

Instantly share code, notes, and snippets.

@mygoare
Last active April 18, 2018 15:19
Show Gist options
  • Save mygoare/10d5e4e9808c2fb5d04d206049eebdff to your computer and use it in GitHub Desktop.
Save mygoare/10d5e4e9808c2fb5d04d206049eebdff to your computer and use it in GitHub Desktop.
JS Bin// source http://jsbin.com/qalevob 上海地铁厕所检索 小程序
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<select name="lines" id="" onChange="linesOnChange(this)">
<option value="1">1号线</option>
<option value="2">2号线</option>
</select>
<select name="stops" id="stops" onChange="stopsOnChange(this)">
<option value="" selected>站点</option>
</select>
</body>
</html>
// 重点在于 获取到select dom对象后,obj.options 上添加 new Option('text', 'key')
var lineArr = {};
lineArr["1"] = [
{key: '111', value: '莘庄'},
{key:"0112", value:"外环路"}
]
lineArr["2"] = [
{key: '0235', value: '虹桥火车站'},
{key:"0234", value:"徐泾东"}
]
var se = document.getElementById('stops');
setLine("1")
var linesOnChange = function(e) {
console.log(e.value)
setLine(e.value)
}
function setLine(n) {
var stops = lineArr[n]
var start = 1
for(var i = 0; i < stops.length; i++) {
var op = new Option(stops[i]["value"], stops[i]["key"]);
se.options[start] = op;
start ++;
}
}
function stopsOnChange(e) {
if (e.value === "") return;
console.log(e.value)
}
const axios = require('axios')
// can get from api
var arr = [{"key":"0111","value":"莘庄"},{"key":"0112","value":"外环路"},{"key":"0113","value":"莲花路"},{"key":"0114","value":"锦江乐园"},{"key":"0115","value":"上海南站"},{"key":"0116","value":"漕宝路"},{"key":"0117","value":"上海体育馆"},{"key":"0118","value":"徐家汇"},{"key":"0119","value":"衡山路"},{"key":"0120","value":"常熟路"},{"key":"0121","value":"陕西南路"},{"key":"0122","value":"黄陂南路"},{"key":"0123","value":"人民广场"},{"key":"0124","value":"新闸路"},{"key":"0125","value":"汉中路"},{"key":"0126","value":"上海火车站"},{"key":"0127","value":"中山北路"},{"key":"0128","value":"延长路"},{"key":"0129","value":"上海马戏城"},{"key":"0130","value":"汶水路"},{"key":"0131","value":"彭浦新村"},{"key":"0132","value":"共康路"},{"key":"0133","value":"通河新村"},{"key":"0134","value":"呼兰路"},{"key":"0135","value":"共富新村"},{"key":"0136","value":"宝安公路"},{"key":"0137","value":"友谊西路"},{"key":"0138","value":"富锦路"},{"key":"0234","value":"徐泾东"},{"key":"0235","value":"虹桥火车站"},{"key":"0236","value":"虹桥2号航站楼"},{"key":"0237","value":"淞虹路"},{"key":"0238","value":"北新泾"},{"key":"0239","value":"威宁路"},{"key":"0240","value":"娄山关路"},{"key":"0241","value":"中山公园"},{"key":"0242","value":"江苏路"},{"key":"0243","value":"静安寺"},{"key":"0244","value":"南京西路"},{"key":"0245","value":"人民广场"},{"key":"0246","value":"南京东路"},{"key":"0247","value":"陆家嘴"},{"key":"0248","value":"东昌路"},{"key":"0249","value":"世纪大道"},{"key":"0250","value":"上海科技馆"},{"key":"0251","value":"世纪公园"},{"key":"0252","value":"龙阳路"},{"key":"0253","value":"张江高科"},{"key":"0254","value":"金科路"},{"key":"0255","value":"广兰路"},{"key":"0256","value":"唐镇"},{"key":"0257","value":"创新中路"},{"key":"0258","value":"华夏东路"},{"key":"0259","value":"川沙"},{"key":"0260","value":"凌空路"},{"key":"0261","value":"远东大道"},{"key":"0262","value":"海天三路"},{"key":"0263","value":"浦东国际机场"},{"key":"0311","value":"上海南站"},{"key":"0312","value":"石龙路"},{"key":"0313","value":"龙漕路"},{"key":"0314","value":"漕溪路"},{"key":"0315","value":"宜山路"},{"key":"0316","value":"虹桥路"},{"key":"0317","value":"延安西路"},{"key":"0318","value":"中山公园"},{"key":"0319","value":"金沙江路"},{"key":"0320","value":"曹杨路"},{"key":"0321","value":"镇坪路"},{"key":"0322","value":"中潭路"},{"key":"0323","value":"上海火车站"},{"key":"0324","value":"宝山路"},{"key":"0325","value":"东宝兴路"},{"key":"0326","value":"虹口足球场"},{"key":"0327","value":"赤峰路"},{"key":"0328","value":"大柏树"},{"key":"0329","value":"江湾镇"},{"key":"0330","value":"殷高西路"},{"key":"0331","value":"长江南路"},{"key":"0332","value":"淞发路"},{"key":"0333","value":"张华浜"},{"key":"0334","value":"淞滨路"},{"key":"0335","value":"水产路"},{"key":"0336","value":"宝杨路"},{"key":"0337","value":"友谊路"},{"key":"0338","value":"铁力路"},{"key":"0339","value":"江杨北路"},{"key":"0401","value":"上海体育馆"},{"key":"0402","value":"宜山路"},{"key":"0403","value":"虹桥路"},{"key":"0404","value":"延安西路"},{"key":"0405","value":"中山公园"},{"key":"0406","value":"金沙江路"},{"key":"0407","value":"曹杨路"},{"key":"0408","value":"镇坪路"},{"key":"0409","value":"中潭路"},{"key":"0410","value":"上海火车站"},{"key":"0411","value":"宝山路"},{"key":"0412","value":"海伦路"},{"key":"0413","value":"临平路"},{"key":"0414","value":"大连路"},{"key":"0415","value":"杨树浦路"},{"key":"0416","value":"浦东大道"},{"key":"0417","value":"世纪大道"},{"key":"0418","value":"浦电路"},{"key":"0419","value":"蓝村路"},{"key":"0420","value":"塘桥"},{"key":"0421","value":"南浦大桥"},{"key":"0422","value":"西藏南路"},{"key":"0423","value":"鲁班路"},{"key":"0424","value":"大木桥路"},{"key":"0425","value":"东安路"},{"key":"0426","value":"上海体育场"},{"key":"0427","value":"内圈"},{"key":"0428","value":"外圈"},{"key":"0429","value":"内圈(宜山路)"},{"key":"0430","value":"外圈(宜山路)"},{"key":"0501","value":"莘庄"},{"key":"0502","value":"春申路"},{"key":"0503","value":"银都路"},{"key":"0505","value":"颛桥"},{"key":"0507","value":"北桥"},{"key":"0508","value":"剑川路"},{"key":"0509","value":"东川路"},{"key":"0510","value":"金平路"},{"key":"0511","value":"华宁路"},{"key":"0512","value":"文井路"},{"key":"0513","value":"闵行开发区"},{"key":"0621","value":"东方体育中心"},{"key":"0622","value":"灵岩南路"},{"key":"0623","value":"上南路"},{"key":"0624","value":"华夏西路"},{"key":"0625","value":"高青路"},{"key":"0626","value":"东明路"},{"key":"0627","value":"高科西路"},{"key":"0628","value":"临沂新村 "},{"key":"0629","value":"上海儿童医学中心"},{"key":"0630","value":"蓝村路"},{"key":"0631","value":"浦电路 "},{"key":"0632","value":"世纪大道"},{"key":"0633","value":"源深体育中心"},{"key":"0634","value":"民生路"},{"key":"0635","value":"北洋泾路"},{"key":"0636","value":"德平路"},{"key":"0637","value":"云山路"},{"key":"0638","value":"金桥路"},{"key":"0639","value":"博兴路"},{"key":"0640","value":"五莲路"},{"key":"0641","value":"巨峰路"},{"key":"0642","value":"东靖路"},{"key":"0643","value":"五洲大道"},{"key":"0644","value":"洲海路"},{"key":"0645","value":"外高桥保税区南站"},{"key":"0646","value":"航津路"},{"key":"0647","value":"外高桥保税区北站"},{"key":"0648","value":"港城路"},{"key":"0721","value":"美兰湖"},{"key":"0722","value":"罗南新村"},{"key":"0723","value":"潘广路"},{"key":"0724","value":"刘行"},{"key":"0725","value":"顾村公园"},{"key":"0726","value":"祁华路"},{"key":"0727","value":"上海大学"},{"key":"0728","value":"南陈路"},{"key":"0729","value":"上大路"},{"key":"0730","value":"场中路"},{"key":"0731","value":"大场镇"},{"key":"0732","value":"行知路"},{"key":"0733","value":"大华三路"},{"key":"0734","value":"新村路"},{"key":"0735","value":"岚皋路"},{"key":"0736","value":"镇坪路"},{"key":"0737","value":"长寿路"},{"key":"0738","value":"昌平路"},{"key":"0739","value":"静安寺"},{"key":"0740","value":"常熟路"},{"key":"0741","value":"肇嘉浜路"},{"key":"0742","value":"东安路"},{"key":"0743","value":"龙华中路"},{"key":"0744","value":"后滩"},{"key":"0745","value":"长清路"},{"key":"0746","value":"耀华路"},{"key":"0747","value":"云台路"},{"key":"0748","value":"高科西路"},{"key":"0749","value":"杨高南路"},{"key":"0750","value":"锦绣路"},{"key":"0751","value":"芳华路"},{"key":"0752","value":"龙阳路"},{"key":"0753","value":"花木路"},{"key":"0820","value":"沈杜公路"},{"key":"0821","value":"联航路"},{"key":"0822","value":"江月路"},{"key":"0823","value":"浦江镇"},{"key":"0824","value":"芦恒路"},{"key":"0825","value":"凌兆新村"},{"key":"0826","value":"东方体育中心"},{"key":"0827","value":"杨思"},{"key":"0828","value":"成山路"},{"key":"0829","value":"耀华路"},{"key":"0830","value":"中华艺术宫"},{"key":"0831","value":"西藏南路"},{"key":"0832","value":"陆家浜路"},{"key":"0833","value":"老西门"},{"key":"0834","value":"大世界"},{"key":"0835","value":"人民广场"},{"key":"0836","value":"曲阜路"},{"key":"0837","value":"中兴路"},{"key":"0838","value":"西藏北路"},{"key":"0839","value":"虹口足球场"},{"key":"0840","value":"曲阳路"},{"key":"0841","value":"四平路"},{"key":"0842","value":"鞍山新村"},{"key":"0843","value":"江浦路"},{"key":"0844","value":"黄兴路"},{"key":"0845","value":"延吉中路"},{"key":"0846","value":"黄兴公园"},{"key":"0847","value":"翔殷路"},{"key":"0848","value":"嫩江路"},{"key":"0849","value":"市光路"},{"key":"0918","value":"松江南站"},{"key":"0919","value":"醉白池"},{"key":"0920","value":"松江体育中心"},{"key":"0921","value":"松江新城"},{"key":"0922","value":"松江大学城"},{"key":"0923","value":"洞泾"},{"key":"0924","value":"佘山"},{"key":"0925","value":"泗泾"},{"key":"0926","value":"九亭"},{"key":"0927","value":"中春路"},{"key":"0928","value":"七宝"},{"key":"0929","value":"星中路"},{"key":"0930","value":"合川路"},{"key":"0931","value":"漕河泾开发区"},{"key":"0932","value":"桂林路"},{"key":"0933","value":"宜山路"},{"key":"0934","value":"徐家汇"},{"key":"0935","value":"肇嘉浜路"},{"key":"0936","value":"嘉善路"},{"key":"0937","value":"打浦桥"},{"key":"0938","value":"马当路"},{"key":"0939","value":"陆家浜路"},{"key":"0940","value":"小南门"},{"key":"0941","value":"商城路"},{"key":"0942","value":"世纪大道"},{"key":"0943","value":"杨高中路"},{"key":"0944","value":"芳甸路"},{"key":"0945","value":"蓝天路"},{"key":"0946","value":"台儿庄路"},{"key":"0947","value":"金桥"},{"key":"0948","value":"金吉路"},{"key":"0949","value":"金海路"},{"key":"0950","value":"顾唐路"},{"key":"0951","value":"民雷路"},{"key":"0952","value":"曹路"},{"key":"1018","value":"航中路"},{"key":"1019","value":"紫藤路"},{"key":"1020","value":"龙柏新村"},{"key":"1041","value":"虹桥火车站"},{"key":"1042","value":"虹桥2号航站楼"},{"key":"1043","value":"虹桥1号航站楼"},{"key":"1044","value":"上海动物园"},{"key":"1045","value":"龙溪路"},{"key":"1046","value":"水城路"},{"key":"1047","value":"伊犁路"},{"key":"1048","value":"宋园路"},{"key":"1049","value":"虹桥路"},{"key":"1050","value":"交通大学"},{"key":"1051","value":"上海图书馆"},{"key":"1052","value":"陕西南路"},{"key":"1053","value":"新天地"},{"key":"1054","value":"老西门"},{"key":"1055","value":"豫园"},{"key":"1056","value":"南京东路"},{"key":"1057","value":"天潼路"},{"key":"1058","value":"四川北路"},{"key":"1059","value":"海伦路"},{"key":"1060","value":"邮电新村"},{"key":"1061","value":"四平路"},{"key":"1062","value":"同济大学"},{"key":"1063","value":"国权路"},{"key":"1064","value":"五角场"},{"key":"1065","value":"江湾体育场"},{"key":"1066","value":"三门路"},{"key":"1067","value":"殷高东路 "},{"key":"1068","value":"新江湾城"},{"key":"1114","value":"花桥"},{"key":"1115","value":"光明路"},{"key":"1116","value":"兆丰路"},{"key":"1117","value":"安亭"},{"key":"1118","value":"上海汽车城"},{"key":"1119","value":"昌吉东路"},{"key":"1120","value":"上海赛车场"},{"key":"1131","value":"嘉定北"},{"key":"1132","value":"嘉定西"},{"key":"1133","value":"白银路"},{"key":"1134","value":"嘉定新城"},{"key":"1135","value":"马陆"},{"key":"1137","value":"南翔"},{"key":"1138","value":"桃浦新村"},{"key":"1139","value":"武威路"},{"key":"1140","value":"祁连山路"},{"key":"1141","value":"李子园"},{"key":"1142","value":"上海西站"},{"key":"1143","value":"真如"},{"key":"1144","value":"枫桥路"},{"key":"1145","value":"曹杨路"},{"key":"1146","value":"隆德路"},{"key":"1147","value":"江苏路"},{"key":"1148","value":"交通大学"},{"key":"1149","value":"徐家汇"},{"key":"1150","value":"上海游泳馆"},{"key":"1151","value":"龙华"},{"key":"1152","value":"云锦路"},{"key":"1153","value":"龙耀路"},{"key":"1154","value":"东方体育中心"},{"key":"1155","value":"三林"},{"key":"1156","value":"三林东"},{"key":"1157","value":"浦三路"},{"key":"1158","value":"严御路"},{"key":"1159","value":"御桥"},{"key":"1160","value":"罗山路"},{"key":"1161","value":"秀沿路"},{"key":"1162","value":"康新公路"},{"key":"1163","value":"迪士尼"},{"key":"1220","value":"七莘路"},{"key":"1221","value":"虹莘路"},{"key":"1222","value":"顾戴路"},{"key":"1223","value":"东兰路"},{"key":"1224","value":"虹梅路"},{"key":"1225","value":"虹漕路"},{"key":"1226","value":"桂林公园"},{"key":"1227","value":"漕宝路"},{"key":"1228","value":"龙漕路"},{"key":"1229","value":"龙华"},{"key":"1230","value":"龙华中路"},{"key":"1231","value":"大木桥路"},{"key":"1232","value":"嘉善路"},{"key":"1233","value":"陕西南路"},{"key":"1234","value":"南京西路"},{"key":"1235","value":"汉中路"},{"key":"1236","value":"曲阜路"},{"key":"1237","value":"天潼路"},{"key":"1238","value":"国际客运中心"},{"key":"1239","value":"提篮桥"},{"key":"1240","value":"大连路"},{"key":"1241","value":"江浦公园"},{"key":"1242","value":"宁国路"},{"key":"1243","value":"隆昌路"},{"key":"1244","value":"爱国路"},{"key":"1245","value":"复兴岛"},{"key":"1246","value":"东陆路"},{"key":"1247","value":"巨峰路"},{"key":"1248","value":"杨高北路"},{"key":"1249","value":"金京路"},{"key":"1250","value":"申江路"},{"key":"1251","value":"金海路"},{"key":"1321","value":"金运路"},{"key":"1322","value":"金沙江西路"},{"key":"1323","value":"丰庄"},{"key":"1324","value":"祁连山南路"},{"key":"1325","value":"真北路"},{"key":"1326","value":"大渡河路"},{"key":"1327","value":"金沙江路"},{"key":"1328","value":"隆德路"},{"key":"1329","value":"武宁路"},{"key":"1330","value":"长寿路"},{"key":"1331","value":"江宁路"},{"key":"1332","value":"汉中路"},{"key":"1333","value":"自然博物馆"},{"key":"1334","value":"南京西路"},{"key":"1335","value":"淮海中路"},{"key":"1336","value":"新天地"},{"key":"1337","value":"马当路"},{"key":"1338","value":"世博会博物馆"},{"key":"1339","value":"世博大道"},{"key":"1621","value":"龙阳路"},{"key":"1622","value":"华夏中路"},{"key":"1623","value":"罗山路"},{"key":"1624","value":"周浦东"},{"key":"1625","value":"鹤沙航城"},{"key":"1626","value":"航头东"},{"key":"1627","value":"新场"},{"key":"1628","value":"野生动物园"},{"key":"1629","value":"惠南"},{"key":"1630","value":"惠南东"},{"key":"1631","value":"书院"},{"key":"1632","value":"临港大道"},{"key":"1633","value":"滴水湖"},{"key":"1721","value":"虹桥火车站"},{"key":"1722","value":"诸光路"},{"key":"1723","value":"蟠龙路"},{"key":"1724","value":"徐盈路"},{"key":"1725","value":"徐泾北城"},{"key":"1726","value":"嘉松中路"},{"key":"1727","value":"赵巷"},{"key":"1728","value":"汇金路"},{"key":"1729","value":"青浦新城"},{"key":"1730","value":"漕盈路"},{"key":"1731","value":"淀山湖大道"},{"key":"1732","value":"朱家角"},{"key":"1733","value":"东方绿舟"},{"key":"4101","value":"沈杜公路"},{"key":"4102","value":"三鲁公路"},{"key":"4103","value":"闵瑞路"},{"key":"4104","value":"浦航路"},{"key":"4105","value":"东城一路"},{"key":"4106","value":"汇臻路"}];
// can get from api
var lines = [
{
"line_no": 1,
"color": "#e3002b",
"bgcolor": "#fdeae9"
},
{
"line_no": 2,
"color": "#8cc220",
"bgcolor": "#EBF7EC"
},
{
"line_no": 3,
"color": "#fcd600",
"bgcolor": "#fffee5"
},
{
"line_no": 4,
"color": "#461d84",
"bgcolor": "#f1ebf4"
},
{
"line_no": 5,
"color": "#944d9a",
"bgcolor": "#e8d2f0"
},
{
"line_no": 6,
"color": "#d40068",
"bgcolor": "#ffcae4"
},
{
"line_no": 7,
"color": "#ed6f00",
"bgcolor": "#ffcc99"
},
{
"line_no": 8,
"color": "#0094d8",
"bgcolor": "#60b7d4"
},
{
"line_no": 9,
"color": "#87caed",
"bgcolor": "#85C6DA"
},
{
"line_no": 10,
"color": "#c6afd4",
"bgcolor": "#e0c5f0"
},
{
"line_no": 11,
"color": "#871c2b",
"bgcolor": "#BB8866"
},
{
"line_no": 12,
"color": "#007a60",
"bgcolor": "#99CBC1"
},
{
"line_no": 13,
"color": "#e999c0",
"bgcolor": "#f4b8d2"
},
{
"line_no": 16,
"color": "#98d1c0",
"bgcolor": "#C6E8DF"
},
{
"line_no": 17,
"color": "#bb796f",
"bgcolor": "#ebd6d3"
},
{
"line_no": 41,
"color": "#b5b6b6",
"bgcolor": "#f2f7f7"
}
];
var line_names = ["1号线","2号线","3号线","4号线","5号线","6号线","7号线","8号线","9号线","10号线",
"11号线","12号线","13号线","16号线","17号线","浦江线"
]
var stops = {};
for(var i = 0; i< lines.length; i++) {
lines[i]["line_name"] = line_names[i];
stops[lines[i].line_no] = [];
}
const requestUrl = 'http://m.shmetro.com/interface/metromap/metromap.aspx?func=stationInfo&stat_id='
async function generateStops() {
for(var i = 0; i< arr.length; i++) {
var stopKey = arr[i].key;
var lineKey = parseInt(stopKey.substr(0, 2))
var stopValue = arr[i].value;
for(var j = 0; j< lines.length; j++) {
var line_no = parseInt(lines[j].line_no)
if (line_no === lineKey) {
let d = await axios.get(requestUrl+stopKey).then(res => res.data)
console.log(stopValue)
console.log(d[0].toilet_position)
stops[line_no].push({
key: stopKey,
value: stopValue,
toilet_position: d[0].toilet_position
})
}
}
}
}
async function t() {
await generateStops()
console.log(lines)
console.log(stops)
}
t()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment