我有来自JQUERY的自动填充功能,我想要产品的ID而不是我选择的产品名称。
这是完整的AUTOCOMPLETE:
<?php
// if the 'term' variable is not sent with the request, exit
if ( !isset($_REQUEST['term']) )
exit;
// connect to the database server and select the appropriate database for use
include 'conexion2.php';
// query the database table for client codes that match 'term'
$rs = mysql_query('SELECT id_cliente, nombrecliente FROM cliente where nombrecliente like "'. mysql_real_escape_string($_REQUEST['term']) .'%" order by nombrecliente asc', $conexio);
// loop through each name returned and format the response for jQuery
$data = array();
if ( $rs && mysql_num_rows($rs) )
{
while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
{
$data[] = array(
'label' => $row['nombrecliente'],
'value' => $row['nombrecliente'],
);
}
}
// jQuery wants JSON data
echo json_encode($data);
flush();
我选择客户时不知道如何取出ID。如果我更改'value'=&gt; $ row ['id_cliente'],然后我在自动完成输入中得到ID号....
答案 0 :(得分:1)
在您的数组中,添加另一个项目:
'id' => $row['id_cliente']
然后,您需要添加一个隐藏的表单字段,用于存储您的ID。在你的jQuery中(假设你正在使用jQueryUI自动完成),你可以在源代码下添加它作为自动完成功能的一部分:
$('#autocomplete_input').autocomplete({
source: '/path/to/lookup/php/file',
select: function(event, ui){
$('#my_hidden_field').val(ui.item.id);
}
});
然后,当您在提交后阅读表单时,您将阅读该ID而不是自动填充字段。