Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax自动完成字段:显示一个值,但使用另一个值?_Ajax_Cakephp_Autocomplete - Fatal编程技术网

Ajax自动完成字段:显示一个值,但使用另一个值?

Ajax自动完成字段:显示一个值,但使用另一个值?,ajax,cakephp,autocomplete,Ajax,Cakephp,Autocomplete,我在CakePHP应用程序中有一个自动补全器,它提供了要附加到某个地方的社区的下拉列表。我正在从一个包含姓名和id字段的“邻居”表中提取。我希望用户看到邻居的名称,我希望应用程序看到邻居的id并将其插入位置表。如何实现这一点?将正确的(隐藏的)值分配给隐藏的输入字段这类功能通常通过组合框来实现,组合框类似于自动完成,带有一个底层的select元素,请参见另一种方法是存储id。然后,当用户按submit时,用存储的值替换输入字段的值 这就是我开始解决这个问题的方式,但我也希望能够,如果数据库中还没

我在CakePHP应用程序中有一个自动补全器,它提供了要附加到某个地方的社区的下拉列表。我正在从一个包含姓名和id字段的“邻居”表中提取。我希望用户看到邻居的名称,我希望应用程序看到邻居的id并将其插入位置表。如何实现这一点?

将正确的(隐藏的)值分配给隐藏的输入字段

这类功能通常通过组合框来实现,组合框类似于自动完成,带有一个底层的
select
元素,请参见

另一种方法是存储id。然后,当用户按submit时,用存储的值替换输入字段的值

这就是我开始解决这个问题的方式,但我也希望能够,如果数据库中还没有邻居,就添加它。我想可能会在下拉列表中添加一个“添加新邻居…”的业务,但我觉得用户可能更难发现它。这就是我的想法,但我不知道如何实现它。类似于上面隐藏的输入建议。有没有办法,比如说,让每个
  • 的id都成为邻居的id,然后把它拿出来,在数据库中使用?有点像一个被操纵的下拉列表?在这一点上我应该提到,我的Ajax技能充其量只是初学者水平……您有jQuery吗?您可以在每个服务器上运行.data('id',neighborhood\u id)。您使用的是什么自动完成实现?您只需要返回两个带有Cake的数据(name/id),并在选择autocomplete时将id应用于隐藏字段。