Javascript 我想在输入3个字符后在数据列表中开始搜索?

Javascript 我想在输入3个字符后在数据列表中开始搜索?,javascript,angular,datalist,Javascript,Angular,Datalist,这是我的html代码,我想在输入3个字符后开始搜索值:- <input id="restaurants" list="lstRestaurants" type="text" class="form-control form-input input-search input-section clearable" placeholder="Name of Restaurant" [(ngModel)]="searchModel.restaurant" name="restaurant" #re

这是我的html代码,我想在输入3个字符后开始搜索值:-

<input id="restaurants" list="lstRestaurants" type="text" class="form-control form-input input-search input-section clearable" placeholder="Name of Restaurant" [(ngModel)]="searchModel.restaurant" name="restaurant" #restaurant="ngModel">
<datalist id="lstRestaurants">
   <option *ngFor="let restaurant of allRestaurants" value="{{restaurant.name}}"></option>
</datalist>

希望这能让你更接近你的答案

$(document).on('keyup', '#restaurants', function() {
var myLength = $("#restaurants").val().length;
if (myLength > 2) {
      alert("Do search now")
    };
alert("each letter you type this pops up");
});

您应该将watch设置为searchModel.restaurant:

$scope.$watch('searchModel.restaurant', function(newValue){
 if(newValue.length === 3){
   //search on your datalist
   alert("Search by newValue");
 }});

你能给搜索添加你的js代码并解释你的问题是什么吗?都德,它不起作用,每次我输入一个字符时都会发出警报,但当我删除警报时,它会在第一个字符输入时进行搜索