画面上にコンボボックス1とコンボボックス2があり、他には履歴ボタンが一つあります。
履歴ボタンを押すと、過去にコンボボックスで入力した入力リストをDBから表示します。
その入力リストから選択すると自動的に両方のコンボボックスに反映されるようなものを作っています。
通常のコンボボックスなら単に履歴からコンボボックスの値を渡すだけで反映されますが、
以下のような処理を行っているせいでうまくできません。
コンボボックス1で値を選択したら一旦コンボボックス2は空欄を表示する。
コンボボックス2は、コンボボックス1で選択されたものに対応するデータだけが選択可能である。
(例)コンボボックス1に値3を入力されたらコンボボックスは4か100か210しか入力できない
このような処理がある中で履歴ボタン押下でデータをいれるにはどのような方法があるのでしょうか?
現状、試してみたのは以下のようなことです。
コンボボックス1には3を入れることができましたが、コンボボックス2は空欄のままでした。
コンボボックス1(data1)とコンボボックス2(data2)の一覧を生成しているコードです。
コールしてる関数fnc_cbo_~はselect文を生成してるだけです。
<tr> <th>値</th> <td colspan="3"> <?php echo fnc_cbo_data1("data1","data1",((isset($_SESSION["yoyaku"]["data1"])) ? _hs($_SESSION["yoyaku"]["data1"]) : _hs($_SESSION["mas_login"]["section"]))); ?> <span id="td_data2" name="td_data2"><?php echo fnc_cbo_data2("data2","data2",((isset($_SESSION["yoyaku"]["data1"])) ? _hs($_SESSION["yoyaku"]["data1"]) : ""),((isset($_SESSION["yoyaku"]["data2"])) ? _hs($_SESSION["yoyaku"]["data2"]) : _hs($_SESSION["mas_login"]["emp_code"]))); ?></span> </td> </tr>
ボタン押下で動く処理
var value1 = 3; var value2 = 4; $("#data1").val(value1)//data1には0~20の値が入ることがあるが今回は3を設定(正しく設定される) $("#data2").val(value2);//こちらはdata1に入っている値により選択できるデータが変わる(設定されない)
上記の内容ではコードがよくわからないと思いますので、
コードというよりは解決する手法のほうを主に知りたいです。
現状、コンボボックス2側の条件を消す等しか解決策が思い浮かびませんが、なるべくそれは避けたいです。
分かりづらいと思いますが宜しくお願いします。
あなたの回答
tips
プレビュー