選択したラジオ ボタンは、対応する都市のリストをドロップダウン ボックスで表示します。たとえば、ラジオ ボタン「オンタリオ」を選択すると、一致する都市のドロップダウン ボックスが表示されます (この例では、「地域」はオンタリオで ID は 77 です)。
以下の例で説明されているすべての PHP 関数、ループ、および JavaScript コードは、正しく機能しています。
<script type="text/javascript">
$(document).ready(function(){
$('#locationTree input:radio').change(function() {
var buttonPressed = $('input:radio[name=Region]:checked').val();
if(buttonPressed == 77) {
var listCities = $("select[name='City']");
<?php View::newInstance()->_exportVariableToView(77); ?>
<?php while(has_list_cities()) { ?>
$("<option><?php echo list_city_name(); ?></option>").appendTo(listCities);
<?php } ?>
}
});
});
</script>
具体的には 77 ではなく、さまざまな地域別の都市のリストを取得するには、次のように PHP コードを少し変更します。
<?php View::newInstance()->_exportVariableToView($regionCode); ?>
変数「buttonPressed」は選択された「Region」の ID を検出するため、次の簡単なスクリプトを追加できます。
<?php $regionCode = "<script>document.write(buttonPressed)</script>"; ?>
上記の変更後:
var listCities = $("select[name='City']");
<?php $regionCode = "<script>document.write(buttonPressed)</script>"; ?>
<?php View::newInstance()->_exportVariableToView($regionCode); ?>
PHP がサーバー側で実行され、JavaScript がクライアント側で実行されることは知っていますが、PHP と JavaScript の間で変数を交換するための私の単純なソリューションは機能するはずだと思っていましたが、機能しません。私は本当に誰かにそれを機能させるのを手伝ってもらいます。