php中jQuery插件autocomplate的简单使用笔记

yipeiwu_com5年前PHP代码库
首先需要的文件有jquery.js,jquery.autocomplete.js,jquery.autocomplete.js,这三个文件,哪里有?百度、谷歌都可以找到。可以去官网上下,里面包含了一些demo,只留下这三个文件即可。

js代码:

复制代码 代码如下:

<SCRIPT language=javascript src="../../js/jquery.js" type=text/javascript>
</SCRIPT><SCRIPT language=javascript src="../../js/jquery.autocomplete.js" type=text/javascript></SCRIPT>
<SCRIPT language=javascript type=text/javascript>
$(document).ready(function(){
/*这里做的是一个简单的检索姓名的自动完成程序*/
$('#key_name').autocomplete('doctor_list.php',{
/*此处是请求的地址*/
width: 150,
/*此处是自动提示框的宽度*/
matchContains: true,
/*是否使用内部比较(匹配单词的一部分)*/
selectFirst: false,
/*如果这个设置为true,第一个autocomplete值将 被自动通过tab/回车选择,即使没有通过键盘或鼠标精选选择 */
extraParams: {name:function(){return $("#key_name").val();},action:"getAjaxInfo"}
/*这个extraParams是后端的附加参数,以这个为例,name是请求的地址中的参数,默认是以GET方式,action:"getAjaxInfo"这个也是GET传递的参数,完整的请求地址如下 doctor_list.php?action=getAjaxInfo&name=表单数据了*/
});
</SCRIPT>


HTML代码中只有:
<input id="key_name" style="width: 150px;" type="text" name="key_name" />

下面是php代码:
复制代码 代码如下:

if($_GET['action'] == 'getAjaxInfo'){
//这里由于我写其它应用了,如果单纯做这一个自动完成,可以写简单一点
if($_GET['name'] != ''){
$field = 'name';
}
if($field != ''){
$val = $_GET['$field'];
$sql = "select `$field` from doctor_info where $field like '%$val%'";
$rst = $aa->execute($sql);
while($row = mysql_fetch_array($rst)){
echo $row[0]."\n";
}
}
exit;
}

直接运行即可实现 。
下面贴出来autocomplate的一些公共用法,从别的站上面粘过来的,参考方便

属性 类型 描述 定义在
actionPrefix string actionsID的前缀. CWidget
attribute string 这个widget相关的属性. CInputWidget
autoFill boolean 选择一个值时自动填充textinput, 替换已经键入的或选择的值. CAutoComplete
cacheLength integer 存储在cache中的后台查询结果的数目. CAutoComplete
controller CController 返回这个小物件所属的controller. CWidget
cssFile mixed 这个widget使用的CSS文件. CAutoComplete
data array 保存在客户端提供候选选择项的数据. CAutoComplete
delay integer 当键入后,autocompleter等待多少毫秒激活 . CAutoComplete
extraParams array 后端的附加参数. CAutoComplete
formatItem string 为一个item提供高级标记的javascript函数. CAutoComplete
formatMatch string 用来限制autocomplete搜索匹配的数据的javascript函数 . CAutoComplete
formatResult string 在结果放入input字段前,提供格式化值的javascript函数 . CAutoComplete
highlight boolean|string 是否在选择框中高亮匹配. CAutoComplete
htmlOptions array 被渲染到input tag的附加HTML选项. CInputWidget
id string 返回本小物件(widget)的ID或如果请求的话生成一个新的. CWidget
inputClass string input元素的CSS类. CAutoComplete
loadingClass string 当数据从后端载入时使用的CSS类. CAutoComplete
matchCase boolean 是否比较时大小写敏感. CAutoComplete
matchContains boolean 是否使用内部比较(匹配单词的一部分) (i. CAutoComplete
matchSubset boolean 是否autocompleter为更多的指定查询使用缓存 . CAutoComplete
max integer select box的item数目. CAutoComplete
methodChain string 被附加到autocomplete构造函数后的方法链调用. CAutoComplete
minChars integer 用户必须键入的最少字符数 在autocompleter激活之前. CAutoComplete
model CModel 这个widget相关的数据模型. CInputWidget
multiple boolean 是否允许超过一个autocompleted-value输入. CAutoComplete
multipleSeparator string 当使用多个选项时,选项之间的分隔符. CAutoComplete
mustMatch boolean 如果设置为true,autocompleter将仅仅允许结果通过后端呈现 . CAutoComplete
name string input 名称. CInputWidget
options array 传递到autocomplete js 对象的构造函数的附加选项. CAutoComplete
owner CBaseController 返回这个小物件的所有者/创造者. CWidget
resultsClass string 下拉列表的CSS类. CAutoComplete
scroll boolean 当更多的结果超过scrollHeight设置的高度时,是否滚动. CAutoComplete
scrollHeight integer autocomplete的举动高度(用像素)s. CAutoComplete
selectFirst boolean 如果这个设置为true,第一个autocomplete值将 被自动通过tab/回车选择,即使没有通过键盘或鼠标精选选择 . CAutoComplete
skin mixed 这个widget使用的皮肤名称. CWidget
textArea boolean 是否使用一个text area显示autocomplete. CAutoComplete
url string|array 返回候选选项的URL. CAutoComplete
value string input值 CInputWidget
viewPath string 返回这个物件包含视图文件的目录. CWidget
width integer 指定select box的自定义宽度. CAutoComplete

相关文章

基于PHP array数组的教程详解

定义数组数组array是一组有序的变量,其中每个变量被叫做一个元素。一、定义数组 可以用 array() 语言结构来新建一个数组。它接受一定数量用逗号分隔的 key => valu...

PHP设计模式之单例模式原理与实现方法分析

本文实例讲述了PHP设计模式之单例模式原理与实现方法。分享给大家供大家参考,具体如下: 一、什么是单例模式 作为对象的创建模式,单例模式确保某一个类只有一个实例,并且对外提供这个全局实例...

php apache开启跨域模式过程详解

apaceh 配置: <VirtualHost *:80> ServerAdmin xxx@qq.com DocumentRoot "C:/htdocs/demo...

php5.6.x到php7.0.x特性小结

本文总结分析了php5.6.x到php7.0.x特性。分享给大家供大家参考,具体如下: php5.6.x到php7.0.x特性 1.标量类型声明 字符串(string), 整数 (int...

深入解析PHP中foreach语句控制数组循环的用法

foreach是PHP中很常用的一个用作数组循环的控制语句。 因为它的方便和易用,自然也就在后端隐藏着很复杂的具体实现方式(对用户透明) 今天,我们就来一起分析分析,foreach是如何...