Обмен переменными между PHP и JavaScript

Выбранный переключатель отобразит соответствующий список городов в раскрывающемся списке. Например, при выбранном переключателе «Онтарио» появится раскрывающийся список с соответствующими городами (в этом примере «Регион» – это Онтарио, а идентификатор – 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', я могу добавить следующий простой скрипт:

 <?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 должно работать … но это не работает. Я действительно прошу кого-то помочь мне заставить его работать.

Related of "Обмен переменными между PHP и JavaScript"

Обменные переменные (отделить к клиенту) с помощью свойств атрибутов данных HTML 5. Я делаю это для загрузки начальной страницы.

Чтобы обменять переменные после начальной загрузки страницы, можно использовать вызовы ajax.

пример атрибута данных

HTML через PHP Write

 <div id='universals' data-path='/zz/' data-load='1'></div> 

JavaScript

 var data_dom = $('#universals')[0], key, universals = []; for (key in data_dom.dataset) { universals[key] = data_dom.dataset[key]; }