セレクトボックス①を変更するとセレクトボックス②が変更されるというパーツを作っています。
セレクトボックス②にはDBに登録されたものを抽出して表示させる予定です。
現状、セレクトボックス②には何も表示されていないので、DBからデータの受け渡しが出来ていない可能性が高いです。
分かる方がいましたらご回答よろしくお願い致します。
※21:21 コード修正
echo "<script>\n"; echo "function functionName(){\n"; echo "var select1 = document.forms.formName.area;\n"; echo "var select2 = document.forms.formName.selectName2;\n"; echo "select2.options.length=0;\n"; echo "if (select1.options[select1.selectedIndex].value == '東'){"; foreach($result as $row3){ echo "select2.options[] = new Option(" . $row3['shoplist'] . ");"; } echo "}\n"; echo "else if (select1.options[select1.selectedIndex].value == '西'){"; foreach($result as $row3){ echo "select2.options[] = new Option(" . $row3['shoplist'] . ");"; } echo "}\n"; echo "else if (select1.options[select1.selectedIndex].value == '南'){"; foreach($result as $row3){ echo "select2.options[] = new Option(" . $row3['shoplist'] . ");"; } echo "}\n"; echo "else if (select1.options[select1.selectedIndex].value == '北'){"; foreach($result as $row3){ echo "select2.options[] = new Option(" . $row3['shoplist'] . ");"; } echo "}\n"; echo "else if (select1.options[select1.selectedIndex].value == 'ネ'){"; foreach($result as $row3){ echo "select2.options[] = new Option(" . $row3['shoplist'] . ");"; } echo "}\n"; echo "</script>\n"; echo "<form name=formName method=post action=./pathToProgramFile>\n"; echo "<tr>\n"; echo "<td>エリア</td>\n"; echo "<td>\n"; echo "<select name=area onChange=functionName()>\n"; echo "<option name=1 value=東>東エリア</option>\n"; echo "<option name=2 value=西>西エリア</option>\n"; echo "<option name=3 value=南>南エリア</option>\n"; echo "<option name=4 value=北>北エリア</option>\n"; echo "<option name=5 value=ネ>ネットルーム</option>\n"; echo "</select>\n"; echo "</td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td>希望店舗</td>\n"; echo "<td>\n"; echo "<select name=selectName2></select>\n"; echo "</td>\n"; echo "</tr>\n"; echo "</form>\n";
※3/30 コード修正/追記分
上記コードで実行しまして、もともと参考にしたサイトのコードと比べてみるとselect2.option[]の中身に問題があるように思います。
イメージとしてはDBに登録されている「東西南北ネ」の値を持っているデータのそれぞれの数を数えて、$i++などで順番に表示というコードを書ければいいのではないかと思っています。
よろしくお願い申し上げます。
回答3件
あなたの回答
tips
プレビュー