アプリ版:「スタンプのみでお礼する」機能のリリースについて

同一ページに複数のプルダウンメニューをつけたいのですが、
どうすればよいのでしょうか。

下記のように1つはつけることができたのですが、
2つめから、どこをどう変えて追加すればよいのかわかりません。


<script language="javascript">
<!--
function A_Li(){
Sel=document.Link1.OP.selectedIndex;
Ms=document.Link1.OP.options[Sel].value;
parent.main.location.href=Ms;}
// -->
</script>


<FORM name="Link1">
<SELECT name="OP" onChange="A_Li()" size="1">
<OPTION Value="main.htm" SELECTED>ページを選んでください
<option value="main.htm">ぺージ1</option>
<OPTION Value="abc.htm">ページ2
<OPTION Value="def.htm">ページ3
</SELECT>

よろしくお願いします。

A 回答 (1件)

最低限、違わなければならないのは、SELECT の name 値です。


また、質問のように FORM 名や SELECT 名を直接参照している場合、A_Li() という関数と同じような関数が、もう1つ必要になります。
こんな感じになるでしょうか。

<script language="javascript">
<!--
function A_Li() {
  Sel=document.Link1.OP.selectedIndex;
  Ms=document.Link1.OP.options[Sel].value;
  parent.main.location.href=Ms;}
function B_Li() {
  Sel=document.Link1.OP2.selectedIndex;
  Ms=document.Link1.OP2.options[Sel].value;
  parent.main.location.href=Ms;}
// -->
</script>


<FORM name="Link1">
<SELECT name="OP" onChange="A_Li()" size="1">
<OPTION Value="main.htm" SELECTED>ページを選んでください
<option value="main.htm">ぺージ1</option>
<OPTION Value="abc.htm">ページ2
<OPTION Value="def.htm">ページ3
</SELECT>

<SELECT name="OP2" onChange="B_Li()" size="1">
<OPTION Value="aaa.htm" SELECTED>ページを選んでください
<option value="bbb.htm">ぺージ1</option>
<OPTION Value="ccc.htm">ページ2
<OPTION Value="ddd.htm">ページ3
</SELECT>

もちろん OP2が、OP とは異なる FORM になる場合、B_Li() 内の Link1 という部分も変えなければなりません。

でも、ただページを飛ばすだけの関数を2つも用意するのもなんなので、次のように SELECT オブジェクト自身(this)を関数に渡すようにすれば、関数は1つで済みます。

<script language="javascript">
<!--
function A_Li(obj) {
  Sel=obj.selectedIndex;
  Ms=obj.options[Sel].value;
  parent.main.location.href=Ms;}
// -->
</script>


<FORM name="Link1">
<SELECT name="OP" onChange="A_Li(this)" size="1">
<OPTION Value="main.htm" SELECTED>ページを選んでください
<option value="main.htm">ぺージ1</option>
<OPTION Value="abc.htm">ページ2
<OPTION Value="def.htm">ページ3
</SELECT>

<SELECT name="OP2" onChange="A_Li(this)" size="1">
<OPTION Value="aaa.htm" SELECTED>ページを選んでください
<option value="bbb.htm">ぺージ1</option>
<OPTION Value="ccc.htm">ページ2
<OPTION Value="ddd.htm">ページ3
</SELECT>

thisについては、JavaScriptの本などで調べてみて下さい。
    • good
    • 0
この回答へのお礼

なるほど、とてもよくわかりました。
きちんと動作しておかげさまで、作業できます。

助かりました。
ありがとうございました!

お礼日時:2001/10/26 08:53

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