autocomplete.js

这是一个关于如何使用javascript实现自动补全功能的代码示例。通过AutoComplete函数,可以为输入框添加自动补全功能,根据用户输入的内容动态过滤数据,并显示匹配项。示例中展示了如何处理数据、创建补全面板、根据用户按键行为进行操作等核心功能。
摘要由CSDN通过智能技术生成

 <html>
 <head>
  <script>
/**
 * autocomplete ??
 * ?????IE 6
 * @param textField            ????
 * @param valueField           ???
 * @param data                 ????
 * @param showField            ??????????????key
 * @param comparedField        ??????????????key
 * @param comparedValueField   ????????????key
 * @param filterField          ????????????key
 * @param filterValue          ??????
 * @return
 * @author ex-hantao001
 */
function AutoComplete(textField, valueField, data, showField, comparedField, comparedValueField, filterField, filterValue){
    this.textField = typeof(textField) == "object"?textField:document.getElementById(textField);
    this.valueField = typeof(valueField) == "object"?valueField:document.getElementById(valueField);
    this.tempData = null;
    this.dataPanel = null;
    this.data = data;  
    this.filterField = filterField;
    this.tilterValue = filterValue;
    this.showField = showField;
    this.comparedField = comparedField;
    this.comparedValueField = comparedValueField;
    this.selectedIndex = -1;
    this.init();
}
/**
 *???
 */
AutoComplete.prototype.init = function(){
 this.selectedIndex = -1;
    if(this.textField == null || this.data == null){
     return;
 }
 if(this.filterField != null)this.data = this.filter(this.data, this.filterField, this.filterValue);
 this.createPanel();
    var autoComplete = this;
    autoComplete.compare(this.comparedField, this.comparedValueField);
  
    this.textField.onkeyup = function(){
        autoComplete.compare(autoComplete.comparedField, autoComplete.comparedValueField);
         //up 38 down 40
        if(event.keyCode == 40){
         var table = document.getElementById("container");      
         if(autoComplete.selectedIndex+1 < table.rows.length){
          autoComplete.selectedIndex++;
          table.rows[autoComplete.selectedIndex].cells[0].style.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值