- 締切済み
RemiseCartの商品の管理画面をカスタマイズしています。
RemiseCartの商品の管理画面をカスタマイズしています。 現状は商品のカテゴリを下記ソースにて固定のカテゴリのみを利用できるようにして グループ1を選択するとグループ2のプルダウンの表示が変わるという動きを作りました。 【html】 <tr> <td width="20%" bgcolor="#FFFFCC" nowrap>グループ1</td> <td width="40%" bgcolor="#FFFFFF"> <select name="group1" onChange="changePulldown()" value="<TMPL_VAR name=group1>" /> <option value="1Mens">グループ1を選択</option> <option value="1Mens" >メンズ</option> <option value="2Ladys" >レディース</option> </td> </tr> <tr> <td width="20%" bgcolor="#FFFFCC" nowrap>グループ2</td> <td width="40%" bgcolor="#FFFFFF"> <select name="group2" value="<TMPL_VAR name=group2>" /> <option value="">グループ2を選択</option> </td> </tr> 【javascript】 <script> <!-- function changePulldown() { o = document.category.group2; if (document.category.group1.value == "1Mens") { o.length = 11; o.disabled = false; o.options[0].text = "グループ2を選択"; o.options[1].text = "ジャケット"; o.options[2].text = "ブルゾン"; o.options[3].text = "コート"; o.options[1].value = "0Jackets"; o.options[2].value = "1Brouson"; o.options[3].value = "2Coat"; } else if (document.category.group1.value == "2Ladys") { o.length = 12; o.disabled = false; o.options[0].text = "グループ2を選択"; o.options[1].text = "スカート"; o.options[2].text = "ワンピース"; o.options[3].text = "スウェット"; o.options[1].value = "0Skirt"; o.options[2].value = "1Dress"; o.options[3].value = "2Sweat"; } } //--> このソースに http://q.hatena.ne.jp/1236396803 上記サイトの書かれているような動きを反映させたいと思っています。 上記のサイトの動きをそのまま反映させたいところですが、 onChangeはすでにグループ1のですでに使っているので、 どのようにして呼び出せばよいかがわかりません。 何か良い手順がありましたら教えていただけますでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
よくわかりませんが、… 他のページに飛んだときに、セレクションの内容を反映させたいと言う意味でしょうか? >onChangeはすでにグループ1のですでに使っているので、 値が変化したらページ遷移したいという意味? (←多分違うのでは?) form(上記ソースにはないけれど)のsubmitとか、リンクのクリックとかがトリガーになるのでは? ページをまたいで、値を反映させる方法としては 1)サーバに送信して、サーバ側から値をセットしたHTMLを出力する(cgiなど) 2)javascriptで一時的にクッキーに保存して、次のページでそれを読出してセット 3)javascriptで遷移アドレスのsearch部を利用して書き込み、次のページで読出す 4) 3の前半はformをgetで次のHTMLに送信、後半は同様にscriptで行なう などが考えられますが、onchangeは関係ないと思います。 1)の方法が一番良いのでは? *また、RemiseCartに何らかの制約があるのかないのかはわかりません。