我试图在选择框上捕获"输入键"事件,但它不起作用。请建议如何在angular.js中实现这一点。
<select class="form-control" ng-keyup="keyPress($event, addCDI)" tabindex="0" name="search_cdi_reason">
<option value="item1" selected="selected">item1</option>
<option value="item2"> item 2 </option>
</select>
您需要使用ng-change
而不是ng-keyup
来触发更改事件。ng-change
不是处理变化事件的指令(我意识到这是混淆给定的名称),但实际上是在模型值变化时通知(因为ng-change添加了一个监听器到$viewChangeListeners集合)。
还注意 ng-change
函数不允许将$event
作为参数传递
试试这个:
<select class="form-control" ng-change="addCDI()" ng-model="test" tabindex="0" name="search_cdi_reason">
<option value="item1" selected="selected">item1</option>
<option value="item2"> item 2</option>
</select>
另一种选择是使用ng-change,它将在选择新选项时触发。
请注意,使用ng-change时,还需要有ng-model