php - 来自远程数据源的 jQuery UI 自动完成示例

标签 php jquery

我正在努力让 jQuery UI 自动完成功能能够从远程数据源工作。 http://jqueryui.com/demos/autocomplete/#remote

示例代码调用php脚本search.php

$(function() {
    $( "#birds" ).autocomplete({
        source: "search.php",
        minLength: 2
    });
});

search.php 代码片段的第一行

$q = strtolower($_GET["term"]);
if (!$q) return;
$items = array( //set a bunch of key-value pairs);

$q = strtolower($_GET["term"]); 到底是什么意思? !q 不是总是评估为 true 导致 .php 脚本返回,从而阻止脚本的其余部分执行吗?

编辑

作为引用,如果您访问http://jqueryui.com/download并下载自动完成包,我所指的确切示例在

中引用
  • development-bundle/demos/autocomplete/search.php
  • development-bundle/demos/autocomplete/remote.html

最佳答案

strtolower 调用获取查询字符串变量 term 并将其转换为小写;例如search.php?term=TEST 导致“test”保存在 $q 中。如果您要从区分大小写的源检索数据,那么您可能需要执行此操作以确保“test”和“TEST”的术语值返回相同的数据。

!$q 测试 $q 是否没有值;是因为它没有在 URL 中传递或者它是空的 (search.php?term=)。

您可以使用以下方法测试此逻辑:

<?php
$q = strtolower($_GET["term"]);
echo $q ? '$q was set' : '$q was not set'
?>

输出:

search.php => $q was not set
search.php?term= => $q was not set
search.php?term=TEST => $q was set

关于php - 来自远程数据源的 jQuery UI 自动完成示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9136964/

相关文章:

php - 使用 Codeigniter 实现 SHA 512 哈希

javascript - 使用普通的 javascript/jquery 在数组中创建对象

jQuery Masonry 在 slideToggle 事件上重叠 div

javascript - 单击按钮时更新 fancybox 当前幻灯片内容

javascript - 获取特定数据表页面上的行数?

php - Mysql用PHP生成报告(DateTime数据类型)

php - 是否可以知道该函数是否是从 PHP 中的 eval() 内部调用的?

jQuery 只返回第一项

php - mysql查询查找最常见的号码及其相邻号码

java - 415(不支持的媒体类型)与 jquery