下面代码摘自http://www.oschina.net/question/96791_12832

<script language="javascript" src="jquery-1.4.1.js"></script>
<script>

$(document).ready(function() {
    var cus = 0;
    var classname = "";
    var arry = new Array();
    var $autocomplete = $("<ul class='autocomplete'></ul>").hide().insertAfter("#box4");
    $("#hoho").find("option").each(function(i, n) {
        arry[i] = $(this).text()
    });
 
 $("#box4").focus(function(){if ($("#box4").val() == "===请选择==="){$("#box4").val(""); }});
 $("#box4").blur(function(){if ($("#box4").val() == ""){$("#box4").val("===请选择==="); }});
    $("#box4").keyup(function(event) {
        if ((event.keyCode != 38) && (event.keyCode != 40) && (event.keyCode != 13)) {
            $autocomplete.empty();
            var $SerTxt = $("#box4").val().toLowerCase();
   
            if ($SerTxt != "" && $SerTxt != null) {
                for (var k = 0; k < arry.length; k++) {
                    if (arry[k].toLowerCase().indexOf($SerTxt) >= 0) {
                        $("<li title=" + arry[k] + " class=" + classname + "></li>").text(arry[k]).appendTo($autocomplete).mouseover(function() {
                            $(".autocomplete li").removeClass("hovers");
                            $(this).css({
                                background: "#3368c4",
                                color: "#fff"
                            })
                        }).mouseout(function() {
                            $(this).css({
                                background: "#fff",
                                color: "#000"
                            })
                        }).click(function() {
                            $("#box4").val($(this).text());
                            $autocomplete.hide()
                        })
                    }
                }
            }
            $autocomplete.show()
        }
        var listsize = $(".autocomplete li").size();
        $(".autocomplete li").eq(0).addClass("hovers");
        if (event.keyCode == 38) {
            if (cus < 1) {
                cus = listsize - 1;
                $(".autocomplete li").removeClass();
                $(".autocomplete li").eq(cus).addClass("hovers");
                var text = $(".autocomplete li").eq(cus).text();
                $("#box4").val(text)
            } else {
                cus--;
                $(".autocomplete li").removeClass();
                $(".autocomplete li").eq(cus).addClass("hovers");
                var text = $(".autocomplete li").eq(cus).text();
                $("#box4").val(text)
            }
        }
        if (event.keyCode == 40) {
            if (cus < (listsize - 1)) {
                cus++;
                $(".autocomplete li").removeClass();
                $(".autocomplete li").eq(cus).addClass("hovers");
                var text = $(".autocomplete li").eq(cus).text();
                $("#box4").val(text)
            } else {
                cus = 0;
                $(".autocomplete li").removeClass();
                $(".autocomplete li").eq(cus).addClass("hovers");
                var text = $(".autocomplete li").eq(cus).text();
                $("#box4").val(text)
            }
        }
        if (event.keyCode == 13) {
            $(".autocomplete li").removeClass();
   $("#HTML").html("你选择的是<font color='red'>" + $(".autocomplete li").eq(cus).text()+"</font>");
   $autocomplete.hide();

}
    }).blur(function() {
        setTimeout(function() {
            $autocomplete.hide()
        },
        3000)
    })
});
function setValue(index) {
    var ddl = document.getElementById("hoho");
    var Value = ddl.options[index].text;
    document.getElementById("box4").value = Value
 $("#HTML").html("你选择的是<font color='red'>" +Value+"</font>");
}
</script>
<style>
.hoho{width:197;height:20px!important; height:17px;margin-left:-180px!important; margin-left:-179px}
.sp{margin-left:179px;width:18px;overflow:hidden; }
.bo4{width:178px;position:absolute;left:0px!important;height:20px!important;top:0.5px!important; left:1px; top:0px; height:20px}
.autocomplete{list-style-type:none; margin:0px; padding:0px; border:#008080 1px solid }
.autocomplete li{font-size:12px; font-family:"Lucida Console", Monaco, monospace; font-weight:bold; cursor:pointer; height:20px; line-height:20px}
.hovers{ background-color:#3368c4; color:fff}
</style>

<BODY>
<table width="440" border="0" align="center">
  <tr>
    <td><div style="position:relative;">  
      <span  class="sp">  
            <select id="hoho" name="hoho"  class="hoho" onChange="setValue(this.selectedIndex)" >
               <option>===请选择===</option>
                  <option value='0' >Java EE</option>
                  <option value='1' >Java SE</option>
                  <option value='2' >Java ME</option>
                  <option value='3' >Net</option>
                  <option value='4' >PHP</option>
                  <option value='5' >Ajax</option>
                  <option value='6' >JQuer</option>
                  <option value='6' >校长1123123</option>
                  <option value='6' >校长JQsdfuer</option>
                  <option value='6' >校长3asdfJasdfQuer</option>
                  <option value='6' >校长a23sdfsaJQuer</option>
                  <option value='6' >校长J232Quer</option>
             </select>
            
     </span>
     <input name="box4" id="box4" value="===请选择==="  class="bo4" >  
</div>
 </td>
    <td id="HTML" width="350">输入A试试</td>
  </tr>
</table>
</BODY>

jquery实现select下拉框可输入+联想关联option的更多相关文章

  1. jquery操作select下拉框的各种方法,获取选中项的值或文本,根据指定的值或文本选中select的option项等

    简介jquery里对select进行各种操作的方法,如联动.取值.根据值或文本来选中指定的select下拉框指定的option选项,读取select选中项的值和文本等. 这一章,站长总结一下jquer ...

  2. jQuery操作select下拉框的text值和value值的方法

    1.jquery获取当前选中select的text值 $("#select1").find("option:selected").text(); 2.jquer ...

  3. js&jquery 获取select下拉框的值、文本内容、自定义属性

      js&jquery 获取select下拉框的值.文本内容.自定义属性 CreationTime--2018年7月2日09点22分 Author:Marydon html <selec ...

  4. JQuery操作select下拉框

    JQuery操作select下拉框 获取Select选择的Text和Value $("#select_id").change(function(){//code...}); //为 ...

  5. jquery操作select下拉框的多种方法(选中,取值,赋值等)

    Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Sel ...

  6. jquery Combo Select 下拉框可选可输入插件

    Combo Select 是一款友好的 jQuery 下拉框插件,在 PC 浏览器上它能模拟一个简单漂亮的下拉框,在 iPad 等移动设备上又能回退到原生样式.Combo Select 能够对选项进行 ...

  7. Jquery学习笔记:利用jquery获取select下拉框的值

    jquery不是特别熟练,每次使用不常用的就要百度,特地记录下来. 我的下拉框是: <div class="form-group"> <select class= ...

  8. jquery 匹配select下拉框与列表框

    今天工作中用到 GrapyCity 的 wijmo ui 控件. 要给系统中所有类型的控件加统一样式 用法 $("input [type='text']").wijtext(); ...

  9. JS为Select下拉框添加输入功能

    JavaScript使用parentNode.nextSibling.value实现的本功能,实际上你会发现网页上有两个控件元素,一个是Select,一个是input,使用CSS将input覆盖于se ...

随机推荐

  1. jquery的上传控件uploadly,每行都有一个这样的控件对id选择器的使用

    1.先看看预览图 这个是我的页面,其中如果我没点击添加一行的时候,会把本来有的数据进行循环出来,这个时候每个记录都必须有个上传图片的按钮,但是jquery的uploadly这个控件只是锁定id的,至少 ...

  2. Outlook 2007无法打开链接"由于本机的限制 该操作已被取消"

    编写人:CC阿爸 2014-2-17 近来在日常维护中,经常性的遇到用户在outlook中打开链接,提示[由于本机的限制,该操作已被取消],第一次的在网上搜索到解决办法后, 第二次再处理时,又没能记住 ...

  3. form表单无刷新提交文件(iframe)

    先看一段代码(PHP例子) 1.表单代码(form.html): <iframe name="testIframeName" style="display:none ...

  4. 在ubuntu上使用wxWidgets成功开发一个图形界面程序

    编译wxWidgets 下载最新版的源码,wxWidgets-3.0.2.wxWidgets在liunx是通过wxGTK实现的.wxGTK和wxWidgets的源码打包在一起.wxGTK依赖GTK+, ...

  5. CentOS配置FTP(VSFTPD)

    一.vsftp安装篇 # 安装vsftpd yum -y install vsftpd # 启动 service vsftpd start # 开启启动 chkconfig vsftpd on 二.v ...

  6. JS正则表达式获取字符串中特定字符

    JS正则表达式获取字符串中得特定字符,通过replace的回调函数获取. 实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test  实 ...

  7. 一个自定义的C#数据库操作基础类 SqlHelper

    SqlHelper其实是我们自己编写的一个类,使用这个类目的就是让使用者更方便.更安全的对数据库的操作,既是除了在SqlHelper类以外的所有类将不用引用对数据库操作的任何类与语句,无须担心数据库的 ...

  8. How to get Financial Dimension Value from Worker Position[AX2012]

    To get financial dimension value from worker position, add a new method in hcmWorker Table with scri ...

  9. C#高级功能(三)Action、Func,Tuple

    Action和Func泛型委托实际上就是一个.NET Framework预定义的委托,3.5引入的特性.基本涵盖了所有常用的委托,所以一般不用用户重新声明. Action系列泛型委托,是没有返回参数的 ...

  10. C语言中的堆与栈20160604

    首先声明这里说的是C语言中的堆与栈,并不是数据结构中的!一.前言介绍:C语言程序经过编译连接后形成编译.连接后形成的二进制映像文件是静态区域由代码段和数据段(由二部分部分组成:只读数据 段,未初始化数 ...