- 締切済み
javascriptへのphp変数受け渡し(コンボボックスの作成)
こんにちは。 いつも皆さんの回答を参考にさせていただいております。 現在、phpで開発を行っているのですが、javascriptでの処理について行き詰ってしまったのでご質問させていただきたいと思います。 過去の質問や他のサイトでも同じような内容があり申し訳ないのですが、 理解ができませんでしたのでアドバイスを頂きたいです。 【やりたいこと】 ・phpファイル内で、javascriptによる二つの連動したコンボボックスの作成。 ・コンボボックスの内容をDBから取得し、動的にコンボボックスの内容を変更させる。 【現在】 ・DBからデータを取得し、javascriptでループをまわしたい変数を作成するところまでできました。 ・phpで作成した値をjavascriptでループさせるところで止まっています。 コードは以下の通りです。サンプルとして取得してきたjavascriptもそのまま記載しています。 *************************************************** <? //DBからデータを取得 $strSql = $dbSqlObj2->selectGyomuAllSortedGyomu(); $result_gyomu = $dbExecObj2->exeSql($conn, $strSql); $count_gyomu = $dbExecObj2->getNumRows($result_gyomu); //第一ループの値作成する for($i=0; $i<$count_gyomu; $i++){ ${"gyomu_group{$i}"} = "(".null.",\"".$dbExecObj2->getResult($result_gyomu, $i, "gyomu_name")."\",\"".$dbExecObj2->getResult($result_gyomu, $i, "gyomu_cd")."\")"; } //第二ループの値を作成する 【まだ作れていません】 ?> <script type="text/javascript" src="Select.js" charset="Shift_JIS"></script>【jsファイルを取り込んでいます】 <script language="JavaScript"> <!-- var count=<? echo $count_gyomu ?>;//DBデータのカウントを代入 var box1 = new SelectBox("sb1"); box1.registOption(new SelectOption(null, "都道府県", "0", "color:gray;")); ************【こんな感じでループをしたい】******* for(i=0;i<count; i++){ gyomu_group.i = "<? echo $gyomu_group.i; ?>"; box1.registOption(new SelectOption(gyomu_group.i)); } ********************************************* box1.registOption(new SelectOption(null, "大阪" , "1")); box1.registOption(new SelectOption(null, "京都", "2")); var box2 = new SelectBox("sb2"); box2.registOption(new SelectOption(null, "地区", "0", "color:gray;")); box2.registOption(new SelectOption("1" , "北区", "1")); box2.registOption(new SelectOption("1" , "中央区" , "2")); box2.registOption(new SelectOption("2" , "上京区" , "3")); box2.registOption(new SelectOption("2" , "下京区" , "4")); box1.setChild(box2); window.onload = function() { box1.make(null); }; --> </script> <? <table> <tr><td width="100" valign="top"> <span class="fBlack10100">都道府県:</span></td> <td><select id="sb1" name="dodofuken_cd" onchange="box2.make(this.value);"></select> </td></tr> <tr><td width="100" valign="top"> <span class="fBlack10100">地区:</span></td> <td><select id="sb2" name="chiku_cd"></select> </td></tr> </table> ?> *************************************************** 分かりつらく、初歩的な質問で申し訳ありません。 是非お力をお貸しください。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tany180sx
- ベストアンサー率63% (239/379)
お礼
ご回答本当にありがとうございます! まさか頂けるとは思わず質問してみたので、非常にうれしいです。 >>このページの、PHPのスクリプトが動いているのは、サーバの中でだ。 この点に関しましては、自分でも理解しているつもりです。 ソースの var count=<? echo $count_gyomu ?>;//DBデータのカウントを代入 この部分の値は正常に取得できているので、同じように****…のjsループ内でもソース上部のphpで代入しておいた変数(${"gyomu_group{$i}"} )を取得したいと思うのですが…