- 締切済み
都道府県から沿線⇒駅表示
都道府県から沿線⇒駅表示をさせるプログラムを作成したいと考えています。 http://uguisu.skr.jp/html/ajax.html ↑ここのサイトのソースをまねて ↓ここのサイトのようなプログラムを作りたいのですが・・・。 http://www.ekidata.jp/tools/smp_select01.html 都道府県・沿線・駅データはMySQLにあります。 JavaScriptからPHPプログラムを呼び、 PHPプログラム内でDBから必要なデータを持ってきて HTMLに表示させたいのですが・・・・。 <select> <option value="1">都道府県 </select> <select> <option value="001">沿線 </select> <select> <option value="00001">駅名 </select> 3つを表示させたいのですが、いまいちよくわかりません。 innerHTMLを複数書いて<div id="result"></div>を複数書いても うまくいきませんでした。 JavaScriptの知識があまりないのですが、お手柔らかにご教授お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
function ensen(n){ var d='k='+n; sendRequest('POST','沿線一覧.php',d,true,function(){ ret_data=xmlhttp.responseText; setOption('b',ret_data); }); } みたいに呼び出しますか? PHPの中身は? SQLは?そのデータの構造は?
<html> <body> 都道府県<select id="a" onChange="ensen(this.value)"></select> 沿線<select id="b" onChange="eki(this.value)"></select> 駅名<select id="c"></sclect> <script> window.onload=ken; function ken(){ ret_data='北海道\n青森\n岩手\n秋田'; setOption('a',ret_data); } function ensen(n){ //ret_data=xmlhttp.responseText; ret_data='JR八戸線\nJR東北本線'; setOption('b',ret_data); } function eki(n){ ret_data='八戸\n種市\n玉川\n宿戸\n陸中八木\n有家'; setOption('c',ret_data); } function setOption(id,dat){ var L=('---\n'+dat).split("\n"); var LL=0; o=document.getElementById(id); while(o.hasChildNodes()) o.removeChild(o.lastChild); for(i=0,mx=L.length;i<mx;i++){ opt=document.createElement('option'); opt.innerHTML=L[i]; opt.value=i; o.appendChild(opt); if(LL<L[i].length){LL=L[i].length;o.style.width=(LL-0+2)+'em';} } } </script></body></html> Ajaxからの戻り値はret_dataに代入 データは\nで区切ってあることが前提 phpのプログラムがないので、呼出も戻り値もわかりません。 >JavaScriptの知識があまりないのですがお手柔らかに・・・ ということですが、私も勉強の身です。(なのでいい加減ですが) 解説しませんので、自分で解読なり研究なりすることを強く望みます
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
http://okwave.jp/qa4274074.html とりあえずAjaxのことは抜きにして、 DOM、JavaScript(ECMAScript)、それから > innerHTMLを複数書いて<div id="result"></div>を複数書いても うまくいきませんでした。 このように書かれていることから察するに、HTMLから勉強し直すことをお勧めします。