首先需要的文件有jquery.js,jquery.autocomplete.js,jquery.autocomplete.js,这三个文件,哪里有?百度、谷歌都可以找到。可以去官网上下,里面包含了一些demo,只留下这三个文件即可。
js代码:
复制代码 代码如下:
<SCRIPT language=javascript src="/UploadFiles/2021-04-02/jquery.js"></SCRIPT><SCRIPT language=javascript src="/UploadFiles/2021-04-02/jquery.autocomplete.js"><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