我有一个带有表单的页面,用于填写客户信息。我将以前的客户数据存储在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>
答案 0 :(得分:17)
var arrayFromPHP = <?php echo json_encode($phpArray); ?>;
$.each(arrayFromPHP, function (i, elem) {
// do your stuff
});
答案 1 :(得分: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>");
});
});
});
答案 2 :(得分: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>