将id和值与jquery自动完成、javascript、json和php一起使用
我正在寻找一个简单的代码示例,演示如何使用jquery自动完成ID和值、json和php,但我找不到任何代码。基本上,我在数据库中有一个员工名单,他们有一个id和一个名字。我想显示名称,但在提交表单时在隐藏字段中使用id。我想通过php和json ajax提供名称列表。我还想使用该功能,在显示自动完成之前,您必须输入3个字符,因为这是一个非常长的员工姓名列表。不确定是否必须将这3个字符作为参数传递给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 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:这对我来说没有多大帮助,因此我提出了我的问题。