将id和值与jquery自动完成、javascript、json和php一起使用

将id和值与jquery自动完成、javascript、json和php一起使用,php,jquery,autocomplete,Php,Jquery,Autocomplete,我正在寻找一个简单的代码示例,演示如何使用jquery自动完成ID和值、json和php,但我找不到任何代码。基本上,我在数据库中有一个员工名单,他们有一个id和一个名字。我想显示名称,但在提交表单时在隐藏字段中使用id。我想通过php和json ajax提供名称列表。我还想使用该功能,在显示自动完成之前,您必须输入3个字符,因为这是一个非常长的员工姓名列表。不确定是否必须将这3个字符作为参数传递给php 我是个书呆子,请举个简单的例子 谢谢jQuery UI中有很多很好的例子: 单击示例下面

我正在寻找一个简单的代码示例,演示如何使用jquery自动完成ID和值、json和php,但我找不到任何代码。基本上,我在数据库中有一个员工名单,他们有一个id和一个名字。我想显示名称,但在提交表单时在隐藏字段中使用id。我想通过php和json ajax提供名称列表。我还想使用该功能,在显示自动完成之前,您必须输入3个字符,因为这是一个非常长的员工姓名列表。不确定是否必须将这3个字符作为参数传递给php

我是个书呆子,请举个简单的例子


谢谢

jQuery UI中有很多很好的例子:

单击示例下面的view source按钮,查看Javascript方面的内容。请注意“source”(这是传递结果的PHP脚本的路径)和“minLength”的参数。将minLength属性设置为3将解决问题的第二部分

至于远程端,结果需要是JSON格式,这样您就可以从数据库中查询数据,将其作为PHP关联数组获取,然后使用
JSON\u encode()
方法将其转换为autocomplete插件可以读取的格式。示例中的自动完成实现将querystring变量“term”发送到包含用户输入的搜索字符串的源文件

此示例期望服务器的JSON结果采用以下格式:
[{“id”:“Branta hrota”,“label”:“淡腹布伦特鹅”,“value”:“淡腹布伦特鹅”},…]

因此,PHP源页面可以使用如下代码交付结果:

// source.php (or whatever path you used for the autocomplete "source" setting)
// Sanitize your input!
$term = mysql_real_escape_string( $_GET['term'] );

$results = mysql_query( "SELECT * FROM employees WHERE name LIKE '%{$term}%' "); // Grab your data

$output_array = new array();

while ( $row = mysql_fetch_assoc( $results ) ) {
    $output_array[] = array( 
        'id' => $row['id']
        , 'label' => $row['name']
        , 'value' => $row['name']
    );
}

// Print out JSON response
echo json_encode( $output_array );

这些都是未经测试的伪代码,但它应该为您指明了正确的方向。

jQuery UI中有很多很好的例子:

单击示例下面的view source按钮,查看Javascript方面的内容。请注意“source”(这是传递结果的PHP脚本的路径)和“minLength”的参数。将minLength属性设置为3将解决问题的第二部分

至于远程端,结果需要是JSON格式,这样您就可以从数据库中查询数据,将其作为PHP关联数组获取,然后使用
JSON\u encode()
方法将其转换为autocomplete插件可以读取的格式。示例中的自动完成实现将querystring变量“term”发送到包含用户输入的搜索字符串的源文件

此示例期望服务器的JSON结果采用以下格式:
[{“id”:“Branta hrota”,“label”:“淡腹布伦特鹅”,“value”:“淡腹布伦特鹅”},…]

因此,PHP源页面可以使用如下代码交付结果:

// source.php (or whatever path you used for the autocomplete "source" setting)
// Sanitize your input!
$term = mysql_real_escape_string( $_GET['term'] );

$results = mysql_query( "SELECT * FROM employees WHERE name LIKE '%{$term}%' "); // Grab your data

$output_array = new array();

while ( $row = mysql_fetch_assoc( $results ) ) {
    $output_array[] = array( 
        'id' => $row['id']
        , 'label' => $row['name']
        , 'value' => $row['name']
    );
}

// Print out JSON response
echo json_encode( $output_array );

所以这些都是未经测试的伪代码,但它应该为您指出正确的方向。

谷歌让我回到stackoverflow:这对我来说没有多大帮助,因此我提出了我的问题。谷歌让我回到stackoverflow:这对我来说没有多大帮助,因此我提出了我的问题。