6

顧客情報を入力するためのフォームを含むページを取得しました。PHP配列に保存された以前の顧客データを取得しました。ドロップダウンリストを使用すると、ユーザーは保存したデータをフォームに入力できます。

私が持っているのは、値が変更されたときにトリガーされるjquery関数であり、その関数内で、格納されたデータ(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>
4

3 に答える 3

21
var arrayFromPHP = <?php echo json_encode($phpArray); ?>;
$.each(arrayFromPHP, function (i, elem) {
    // do your stuff
});
于 2012-05-25T17:01:37.483 に答える
1

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>");
        });
    });
});
于 2012-05-25T17:17:37.960 に答える
0

これを試してみてください。

<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>
于 2012-05-25T17:03:32.477 に答える