電子書籍の厳選無料作品が豊富!

JavaScript初心者です。
現在WEBページで路線検索システムを作成しています。

路線名がセットされたselectボックスがあり、路線が選択されると(onchange)その路線に属する駅名をデータとして持ったselectボックスを生成する、というscriptを作る予定です。

駅名のリストはcsvファイルで持っており、選択された路線でそのファイルを限定し、読み込み駅名を表示させたいのですが、それは可能でしょうか?

大変困っております。
どなたかお力をお貸しください…

A 回答 (4件)

DataURL

    • good
    • 0

なるほど...


データバインドで動的に<Select>を作れますね。
---
<object id="Data1" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="data.csv">
</object>

<script type="text/javascript">

function func(myform) {
for(i = myform.Slct2.options.length - 1; i >= 0; i--){
myform.Slct2.options.remove(i);
}
Data1.object.Filter = myform.Slct1.options[myform.Slct1.selectedIndex].value;
Data1.Reset();
var rs = Data1.recordset;
while (! rs.EOF){
var elm = document.createElement("OPTION");
elm.text = rs.fields(1).value;
myform.Slct2.add(elm);
rs.MoveNext();
}
}
</script>
<form>
<select name="Slct1" onChange="func(this.form)">
<option value="">
<option value="Column1=A線">A線
<option value="Column1=B線">B線
</select>
<select name="Slct2">
</select>
</form>

この回答への補足

ありがとうございます。
スクリプト自体初心者なものでソースを理解するのに時間がかかってしまいました(^^;

上記の方法だと、ファイルは「data.csv」1つのみしか指定できないのでしょうか?
駅名のファイルは、路線分(複数)あるのでファイルを1つに特定できません…

何か良い方法はありませんでしょうか…
よろしくお願いします。

補足日時:2003/04/22 11:08
    • good
    • 0

SELECTメニューを動的に表示することは可能です。


-----------------------
<html>
<head>
<script type="text/vbscript">
Sub test()
document.myform.slct.style.display = ""

Set opt1 = document.createElement("OPTION")
document.myform.slct.Add (opt1)
opt1.Text ="A駅"

Set opt2 = document.createElement("OPTION")
document.myform.slct.Add (opt2)
opt2.Text ="B駅"
End Sub
</script>
</head>
<body>
<form name="myform">
<input type="button" value="セレクトボタン出現!" onclick="test()">
<select name="slct" style="display:none">
</select>
</form>
</body>
</html>
-------------------------------
上記の方法と、#1 の方の方法を組み合わせれば、ご希望の仕様を満たすHTMLが出来ると思います。
頑張って下さい。
    • good
    • 0

IE限定ならデータバインドという手があります。


同じようなことを考えましたが、<select>を作るのは
無理だと思っています。(別窓なら可能)
ラジオボタンならこんな感じ。

--- "data.csv" ---
"A線","a駅"
"A線","b駅"
"B線","c駅"
"B線","d駅"

--- "test.html" ---
<object id="Data1" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="data.csv">
</object>

<select onClick="Data1.object.Filter = this.options[this.selectedIndex].value; Data1.Reset();">
<option value="">
<option value="Column1=A線">A線
<option value="Column1=B線">B線
</select>

<table datasrc="#Data1">
<tr><td>
<input type=radio name=radio1><span datafld="Column2"></span>
</td></tr>
</table>
---------

参考URL:http://tohoho.wakusei.ne.jp/wwwxx085.htm
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!