プロが教える店舗&オフィスのセキュリティ対策術

こんばんは。
HTMLとJavaScriptで簡単な動的ページを作成しています。

そこで、行き詰っていることがありますのでご相談を・・・。

こういう<SELECT>があるとします・・・。

<FORM name="myform">
<SELECT name="menu">
<OPTION value="item1001">メニュー1</OPTION>
<OPTION value="item2001">メニュー2</OPTION>
</SELECT>
</FORM>

初期値を「メニュー2」にしたい場合・・・これをJavaScriptで指定する場合、ONLOADのタイミングで・・・

document.myform.menu.value = "item2001";

とすればいけます。

今回は・・・"item2"だけの情報でヒットさせたいと思っています。
つまり、optionのvalue値の頭から5桁だけのマッチングでセレクト状態にさせたいのです。

ループという形をとらずにセレクトさせる方法を探しています。

テクニックをご教授下さい・・・。
宜しくお願い致します。

A 回答 (2件)

コードを見る限りでは、optionの各value値の末尾3ケタ


が変わらないようですので、それを利用すれば、ループ
を使わずに、アタマ5桁の文字列でマッチングできるので
はないでしょうか。
具体的には、次の様なコードでどうでしょう。
テキストフィールドに明示的に文字列を表わすようにして
みました。

<script>
function Jump(o){
document.myform.menu.value = o+'001';
}
</script>

<FORM name="myform">
<input name="ih" type="text" value="item2">
<input type="button" value="CLICK" onclick="Jump(this.form.ih.value)"><SELECT name="menu">
<OPTION value="item1001">メニュー1</OPTION>
<OPTION value="item2001">メニュー2</OPTION>
</SELECT>
</FORM>
    • good
    • 0

>optionのvalue値の頭から5桁だけのマッチングでセレクト状態にさせたいのです。


valueの値でということは、それぞれのvalueを調べる必要があるからループさせずにはムリでしょう

<OPTION id="item2" value="item2001">メニュー2</OPTION>
とかしておけば
document.getElementById("item2").selected=true;
で一発でできると思うけど
    • good
    • 0
この回答へのお礼

ご回答有難う御座いました!
この方法でやらせてもらいました!!

お礼日時:2006/02/28 21:35

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