1. html,body{
2.     height: 100%;
3.     margin: 0;
4.     padding: 0;
5.     box-sizing: border-box;
6. }
7. .main{
8.     width: 300px;
9.     margin: 80px auto;
10. }
11. .auto-complate input{
12.     width: 200px;
13.     height: 20px;
14.     padding: 0;
15. }
16. .auto-complate ul{
17.     padding: 0;
18.     margin: 0;
19. }
20. .auto-complate li{
21.     list-style: none;
22. }
23. .filter-container img{
24.     width: 80px;
25. }
26. .filter-container{
27.     display: flex;
28.     align-items: center;
29.     border: 1px solid #666666;
30. }

1. <div class="main">
2.     <div class="auto-complate">
3.         <input type="text" id="textDate" placeholder="请输入关键词">
4.         <ul id="filterList">
5.
6.         </ul>
7.     </div>
8. </div>

1. var textInput = document.querySelector('#textDate')
2. var filterList = document.querySelector('#filterList')
3.
4. // 数据源
5. var data = [{
6.     name:'王子豪',
7.     id:1,
8.     pinyin:'wangzihao'
9. },
10. {
11.     name:'小强',
12.     id:2,
13.     pinyin:'xiaoqiang'
14. },
15. {
16.     name:'杨日华',
17.     id:3,
18.     pinyin:'yangrihua'
19. },
20. {
21.     name:'万克浩',
22.     id:4,
23.     pinyin:'wankehao'
24. }]
25.
26. function doFileter(key){
27.     key = key.toLowerCase()
28.     // 把字符串转化为小写
29.     return data.filter(function(item){
30.         if(item.name.indexOf(key) > -1 || item.id.toString().indexOf(key) > -1){
31.             return item
32.         }
33.     })
34. }
35.
36. function binhdhtml(key){
37.     var arr = doFileter(key)
38.     var str = ''
39.     for(var i = 0;i <arr.length;i++){
40.         str += '<li>'
41.         str += '<div class="filter-container"><span>' + arr[i].name + '</span><img src="http://wx4.sinaimg.cn/mw690/9e5389bbly1fhzpxlonefj20go0gon1i.jpg"></div>'
42.         str +='</li>'
43.     }
44.     filterList.innerHTML =str
45. }
46.
47. textInput.onkeyup = function(){
48.     var key = textInput.value
49.     binhdhtml(key)
50. }