我已经检查了与我类似的问题,但我似乎无法找到我正在寻找的东西。
我的目标是在我的一个搜索栏中使用autocomplete函数的数据。
所以我有一个来自mysqli查询的PHP数组:
Array (
[65a7de8825d0be1a8db3b53d2893a7b0] => Isagani Colorado
[60f97bb49fa9b035dd4007230a43475e] => Mercedita Labacco
[77774b62b3e0f465a395491936410bf9] => Simundo Dalisay
[98bf4551b15e3b0d12adcd2131d10dc8] => Ma.Violeta Buhay
[341a0067a0a66702eaa96b548e9ac23d] => Roman Bantigue
[2c493705fc971c5667d0e81d85e6d439] => Mavita Gonzales
[5b233111cbc932b84fb86859ebb1bd6d] => Romeo Galang
[2eb29f296d567470c1e9a6c376d33296] => Jerome Calayag
[4a7177533b06cbd0f8b222969a770cff] => Racquel Pajares
[333270ceb56e62de9dc1b2591ed5e686] => Rogelio Gamba
[206b7ce18360b7a3c88d6caa6401292a] => Amelia Enriquez
[53c2db056f0f51d975562f8276fecf85] => Rufino DeVega )
我使用<?php echo json_encode($data); ?>
在Javascript中传递了我的数组:
{
"65a7de8825d0be1a8db3b53d2893a7b0":"Isagani Colorado",
"60f97bb49fa9b035dd4007230a43475e":"Mercedita Labacco",
"77774b62b3e0f465a395491936410bf9":"Simundo Dalisay",
"98bf4551b15e3b0d12adcd2131d10dc8":"Ma.Violeta Buhay",
"341a0067a0a66702eaa96b548e9ac23d":"Roman Bantigue",
"2c493705fc971c5667d0e81d85e6d439":"Mavita Gonzales",
"5b233111cbc932b84fb86859ebb1bd6d":"Romeo Galang",
"2eb29f296d567470c1e9a6c376d33296":"Jerome Calayag",
"4a7177533b06cbd0f8b222969a770cff":"Racquel Pajares",
"333270ceb56e62de9dc1b2591ed5e686":"Rogelio Gamba",
"206b7ce18360b7a3c88d6caa6401292a":"Amelia Enriquez",
"53c2db056f0f51d975562f8276fecf85":"Rufino DeVega"
}
如果我想获取值,我可以使用<?php echo '["' . implode('", "', $data) . '"]'; ?>;
获取其中任何一个;如果我想获取密钥,我可以使用<?php echo '["' . implode('", "', array_keys($data)) . '"]'; ?>;
。
我的[noob]问题是,我如何格式化数据,以便在用户选择输入框中的名称(值)时获取键值?
修改
我需要在我的Javascript函数上传递密钥:
function SearchGrave(){
var uuid = $('#name').val();
$("#grave-content").load("fetch_grave.php?uuid="+encodeURIComponent(uuid));
}
非常感谢任何帮助。
非常感谢,
利
答案 0 :(得分:0)
经过几次试验,这就是我得到的。
我在while循环中将我的数组语法更改为:
$data[] = array('uuid' => $grave_query_r['uuid'], 'full_name' => $grave_query_r['firstname'].' '.$grave_query_r['lastname']);
在我的Javascript中调用它:
var choices = <?php
echo '['.implode(', ', array_map(function ($entry) {
return '["'.$entry['uuid'].'","'.$entry['full_name'].'"]';
}, $data)).']';.
?>
谢谢大家!