<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> <script type="text/javascript" language="javascript" src="js/trirand/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="js/trirand/jquery-ui-1.10.4.js"></script> <link rel="stylesheet" type="text/css" media="screen" href="css/trirand/jquery-ui-1.10.4.css" /> <style type="text/css"> #text{ width: 200px; margin: 50px auto; height: 36px; line-height: 36px; } .Eui_Prompt_list { max-height: 200px; overflow-y: auto; overflow-x: hidden; padding: 3px; } .Eui_Prompt_list li { height: 30px; line-height: 30px; } .Eui_Prompt_list a { display: block; padding: 0 5px; border: solid 1px transparent; } .Eui_Prompt_list a:hover { margin: 0; } </style> </head> <body> <div> <input type="text" id=text/> </div> <script> $(function() { var projects = [ { value: "j嘻嘻", label: "哈哈1", desc: "列表a" }, { value: "j嘿嘿", label: "呵呵2", desc: "做些测试b" }, { value: "j嗯嗯", label: "呃呃3", desc: "萌萌哒c" }, { value: "j呼呼", label: "啦啦4", desc: "测试fd" } ]; $('#text').autocomplete({ delay: 0, minChars: 0, //激活自动完成的输入字符数 matchContains: true, //只要包含输入字符就会显示提示 autoFill: false, //自动填充输入框 mustMatch: true, //与否必须与自动完成提示匹配 // source: projects, source: function( request, response ) { // 回到 autocomplete,但是提取最后的条目 var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" ); response( $.grep( projects, function( value) { return matcher.test( value.label ) || matcher.test( value.value ) || matcher.test( value.desc ) || matcher.test( value ); // return matcher.test( value.value ); })); } , focus: function( event, ui ) { return false; } , select: function( event, ui ) { $(this).val( ui.item.value); return false; } }).data( "ui-autocomplete" )._renderItem = function( ul, item ) { return $( "<li></li>" ) .append( "<a href='javascript:void(0);'>"+item.value+"</a>" ) .appendTo( ul ); } $( "#text" ).data( "ui-autocomplete" )._resizeMenu = function() { var w = $( "#text").parent().outerWidth() this.menu.element.addClass('Eui_Prompt_list').css({'width':w}) } }); </script> </body> </html>