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

下記のページに書かれている通り、
選択肢(1)によって、選択肢(2)の内容が変わるようにしたのですが、
http://www.ksknet.net/javascript/post_54.html
内容を、PHPでデータベースに保存して更新を行なう時に、
選択肢(2)のセレクトボックスで選んだ内容を
表示させる方法がわかりません。

■やりたいこと
上記ページのスクリプトで、
選択肢(1)を「果物」、選択肢(2)を「みかん」にして、
MySQLに保存して、更新を行なった際、
下記のように更新が行なえるようにしたい。

【選択肢(1)で選んだモノが最上位に表示される】
(例:$select1=「果物」で保存した場合、「果物」が最上位)

<select name = "selectName1" onChange="functionName()">
<option value = "$select1">$select1</option>
<option value = "果物">果物</option>
<option value = "野菜">野菜</option>
<option value = "野菜">野菜</option>
</select>

【選択肢(2)で選んだモノが最上位に表示される】
(例:$select2=「みかん」で保存した場合、「みかん」が最上位)

<select name = "selectName2"></select>
※このフォームに、$select2を入れて、$select2の内容を表示し、
他の選択肢(2)の内容も表示したいのですが、方法がわかりません。

少しわかりにくい質問かも知れませんが、
どうしても実現したいことなので、是非とも宜しくお願いします。

A 回答 (3件)

結局なにがしたいのかわからない・・・



選択肢1で分類を選びますよね?
選択肢2で品目を選ぶと、選択肢1の順番がかわるということ?

MySQLの保存うんぬんのクダリがどうかかわっているかもわからない
選択肢1はMySQLのデータをもとに動的に生成されるということ?
であればjavascriptよりもPHPなどの処理で選択肢のソートはすべきでは?

この回答への補足

yambejp様

わかりづらくても申し訳ありません。

やりたいことは、以下の通りです。

(1)会員登録をする
■選択肢1
<select name = "selectName1" onChange="functionName()">
<option value = "果物">果物</option>
<option value = "野菜">野菜</option>
<option value = "野菜">野菜</option>
</select>
■選択肢2
<select name = "selectName2"></select>

選択肢1を選ぶと、動的に選択肢2が表示されるので、
それぞれ選びたいものを選んで、MYSQLに保存する。

(2)会員情報の更新をする
■選択肢1
<select name = "selectName1" onChange="functionName()">
<option value = "$select1">$select1</option>
<option value = "果物">果物</option>
<option value = "野菜">野菜</option>
<option value = "野菜">野菜</option>

■選択肢2
<select name = "selectName2"></select>

会員登録した情報を変更したいので、
会員登録時に選んだ選択肢1と選択肢2の内容を表示した上で、
選択肢1を選んだ時、動的に選択肢2を表示できるようにしたい。
※ただし、選択肢2では、会員登録時に選んだ内容が、
最上位に出るようにしたい。
(例)
<select name = "selectName2">
<option value = "みかん">みかん</option>
<option value = "りんご">りんご</option>
<option value = "みかん">みかん</option>
<option value = "オレジン">オレンジ</option>
</select>
※会員登録時に、選択肢2で「みかん」を選んだ場合

これができるか教えて下さい。

javascriptは苦手なので、PHPだけでできれば、
一番いいのですが、選択肢1を選んだ時に、
動的に選択肢2が出るようにする方法がわかりません。

もしPHPでできるのであれば、書き方を教えて頂けると助かります。

お忙しい中、お手数をお掛けしますが、
宜しくお願い致します。

補足日時:2008/08/11 16:31
    • good
    • 0

MySQLで保存されたデータを初めのOptionvalueにしたいのならば、


selectでよびだして、
$option="<option value = "$select1">$select1</option>";
として、
<select name = "selectName1" onChange="functionName()">
$option
<option value = "果物">果物</option>
<option value = "野菜">野菜</option>
<option value = "野菜">野菜</option>
</select>

すればよいのですが、

この回答への補足

javaphp様

ご回答ありがとうございます。

<select name = "selectName1" onChange="functionName()">
はそれでできるのですが、
<select name = "selectName2"></select>
ができないので困っています。

原因は、選択肢1を選んだ時に、選択肢2が動的に表示されるため
なのですが、対処法は、ありますでしょうか?

補足日時:2008/08/11 18:33
    • good
    • 0

動的に作成されるoption valueの上に、


$option="<option value = "$select1">$select1</option>";
を挿入すればできるのでは?
    • good
    • 0
この回答へのお礼

javaphp様

<body>に含まれていた、onload()を外したら、
できました!

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

お礼日時:2008/08/13 10:19

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