在表单中,用户从选择菜单中选择一个字段后,我希望以下字段自动填充相关数据,这就是我到目前为止所做的:
<?php
$deep="";
include($deep."include/head.php");
if (isset($_POST["tipologia"])) {
$impostazione = $sistema->impostazioni->impostazioneInfo("SOLO_DORMIRE");
echo $impostazione;
}
?>
其中 impostazioneInfo 是:
public function impostazioneInfo($t) {
$sql = mysql_query("SELECT * FROM ".$this->config->table_impostazioni." WHERE tipologia='".$t."'");
$v = mysql_fetch_array($sql);
$tmp = array(
'id'=>$v['id'],
'tipologia'=>$v['tipologia'],
'persone1'=>$v['persone1'],
'persone2'=>$v['persone2'],
'persone3'=>$v['persone3'],
'persone4'=>$v['persone4'],
'persone5'=>$v['persone5'],
'persone6'=>$v['persone6'],
'inizio_ferragosto'=>$v['inizio_ferragosto'],
'fine_ferragosto'=>$v['fine_ferragosto'],
'inizio_capodanno'=>$v['inizio_capodanno'],
'fine_capodanno'=>$v['fine_capodanno'],
'capodanno2'=>$v['capodanno2'],
'capodanno3'=>$v['capodanno3'],
'capodanno4'=>$v['capodanno4'],
'capodanno5'=>$v['capodanno5'],
'capodanno6'=>$v['capodanno6'],
'ferragosto2'=>$v['ferragosto2'],
'ferragosto3'=>$v['ferragosto3'],
'ferragosto4'=>$v['ferragosto4'],
'ferragosto5'=>$v['ferragosto5'],
'ferragosto6'=>$v['ferragosto6'],
'ragazzi'=>$v['ragazzi'],
'ragazzi_ferragosto'=>$v['ragazzi_ferragosto'],
'ragazzi_capodanno'=>$v['ragazzi_capodanno'],
'pers_per_chalet'=>$v['pers_per_chalet']
);
return $tmp;
最后在主页中,这是我在 jQuery 就绪函数中所拥有的内容:
jQuery("#tipologia").on('change', function() {
jQuery.ajax({
url: "get_databy_type.php",
type: "POST",
data: {tipologia: jQuery("#tipologia").val()},
success: function(data) {
alert(data);
}
});
}
我希望警报能从 php 打印结果数组,但我得到了很多我不知道的东西。如何检索所有字段以便填充 html 表单的其余部分?
最佳答案
使用json_encode
在服务器端以 json
格式发送数据。并在ajax
配置中将dataType
设置为json
。
服务器端:
echo json_encode($impostazione);
客户端:
jQuery.ajax({
url: "get_databy_type.php",
type: "POST",
data: {
tipologia: jQuery("#tipologia").val()
},
dataType: 'json',
// ^^^^^^^^^^^^^^
success: function(data) { // data is json object
alert(data.id); // Alert id from the object
}
});
关于javascript - jQuery/PHP/阿杰 : hot to manage an associative array from PHP with jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31114227/