$('#input').on('keyup', function () { var arr3=[];//匹配出来的所有对象 var search_str = $(this).val(); if(search_str !=""){ //判断当前搜索框非空 $(".search .s").css("display","block");//搜索框非空时,显示下拉搜索框 var search_result = findInJsonPin(search_str, json); var $show_area = $('#show-area'); $show_area.empty(); search_result.forEach(function (val) { $show_area.append('<li>' + val + '</li>');//添加匹配出来的对象 arr3.push(val);//将所有匹配的对象存放到数组 }); //点击匹配的对象添加到输入框,并隐藏下拉搜索框 $("#show-area").on("click","li",function(){ $('#input').val(arr3[$(this).index()]); $(".search .s").css("display","none"); }); }else{ $(".search .s").css("display","none"); } });
function findInJson(search_str, json) { var result = []; json.forEach(function (val) { var regex = new RegExp(search_str, 'i'); if (regex.test(val.name)) { result.push(val.name); } else if (regex.test(val.pinyin)) { result.push(val.pinyin); } }); return result; }