- ベストアンサー
JavaScriptから自ページリンクへ飛ばす方法?
行数の多い一覧で任意の行にスクロールするのが面倒で、 各行のキーになるような値の入ったドロップダウンリスト(以下DL)を設け、 それを選択して該当行を先頭に表示できないか考えています。 ●画面イメージ [A |▼] ←DL |A|データA1| |A|データA2| |B|データB1| : |Z|データZn| DLには"A"~"Z"までが格納されていて、 例えば"Y"の選択でYの行を先頭に表示できればと思います。 そようなDLと、飛び先アンカー<A>を適宜埋め込んだhtmlを作成しました。 DL選択時のonchangeのJavaScriptで選択値に該当する<A>に飛ばす、 なんてできますでしょうか。 そもそもこんな方法はムリかもと思いつつ、お知恵があればと思い質問いたしました。 どうか宜しくお願い致します。 ●html <html> <head> <SCRIPT language="Javascript"> <!-- function onChangeKeyList() { var v = document.thisForm.keyList.value; ※ vにDLで選択した値を取り出す。 これを使って<a name="..."/>に何とか飛べないか??? return false; } --> </SCRIPT> </head> <body> <form> <select name="keyList" onchange="onChangeKeyList();"> <option value="A">A</option> : <option value="Z">Z</option> </select> <table> <A name="A" /> ←アンカー <tr> <td>A</td><td>データA1</td> </tr> <tr> <td>A</td><td>データA2</td> </tr> <A name="B" /> ←アンカー <tr> <td>B</td><td>データB1</td> </tr> : </table> </form> </body> </html>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- steel_gray
- ベストアンサー率66% (1052/1578)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
お礼
BLUEPIXYさん、たびたびありがとうございます。 おかげさまで無事動作するようになりました。 実はscrollToを試してみたところ誤差が大きかったので、 どれだけ調整してやればよいか調べようとしたのですが、 その時にふと上に載せてくださったhtmlを見て気付きました。 僕のhtmlでは<tr>の前の必要な箇所に<A>を付けていたのですが、 上のサンプルでは<tr id="...">とされていますね。 この方法でうまく行くようになりました。 結局BLUEPIXYやsteel_grayに教えて頂いたNo.1やNo.2での回答に、 今回教えて頂いた<tr id="...">の組み合わせで動作しました。 テーブル中の<A>は動作しないのかな。 丁寧にサンプルを載せてくださったおかげで解決できました。 ありがとうございました。 お礼が遅くなってすみませんでした。