У меня есть страница с формой, чтобы заполнить ее информацией custormers. Я получил предыдущие данные custormers, хранящиеся в php-массиве. С помощью выпадающего списка пользователи могут заполнить форму мои сохраненные данные.
что у меня есть функция jquery, которая запускается при изменении значения и внутри этой функции i, которая бы хотела обновить значения формы с моими сохраненными данными (в моем php-массиве).
Проблема в том, что я не знаю, как передать мой php-массив функции jquery, любая идея?
вот как я заполняю массив:
$contador_acompanantes = 0; foreach ($acompanantes->Persona as $acomp) { $numero = $acomp->Numero; $apellidos = $acomp->Apellidos; $nombre = $acomp->Nombre; $ACOMPANANTES[$contador_acompanantes] = $ficha_acomp; $contador_acompanantes++; }
получил мой выделенный объект:
<select name="acompanante_anterior" id="acompanante_anterior"> <option value="1" selected>Acompañante</option> <option value="2">acompanante1</option> <option value="2">acompanante2</option> </select>
и это мой код для функции jquery (она находится на той же странице .php)
<script type="text/javascript"> $(document).ready(function() { $('#acompanante_anterior').on('change', function() { }); }); </script>
var arrayFromPHP = <?php echo json_encode($phpArray); ?>; $.each(arrayFromPHP, function (i, elem) { // do your stuff });
Скорее всего, вы захотите использовать json_encode
, вставить JSON на странице и проанализировать его с помощью JSON-js . Используя этот метод, вы должны знать об экранировании </script>
, кавычек и других объектов. Кроме того, применяются стандартные требования безопасности. Демо здесь: http://jsfiddle.net/imsky/fjEgj/
HTML:
<select><option>---</option><option>Hello</option><option>World</option></select> <script type="text/javascript"> var encoded_json_from_php = '{"Hello":[1,2,3], "World":[4,5,6]}'; var json = JSON.parse(encoded_json_from_php); </script>
JQuery:
$(function() { $("select").change(function() { $(this).unbind("change"); var val = json[$(this).val()]; var select = $(this); $(this).empty(); $.each(val, function(i, v) { select.append("<option>" + v + "</option>"); }); }); });
Попробуй это..
<script type="text/javascript"> $(document).ready(function() { $('#acompanante_anterior').on('change', function() { my_array = new Array(); <?php foreach($array as $key->val)?> my_array['<?php echo $key?>'] = '<?php echo $val;?>'; <?php endif; ?> }); }); </script>