2015-10-07 60 views
0

我试图在选择框上捕获“enter key”事件,但它不工作。 请建议如何在angular.js中实现这一点。在选择框上的Angularjs ngKeyup不起作用

<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> 
+0

但我需要 “回车键” 事件不NG-的职位。如果有任何解决方案请进入按键 – Shakti

+0

否,实际上用户会选择一个选项,然后按回车,需要触发方法“addCDI” – Shakti

+0

是的,但是客户需要在选择后进入按键触发方法“addCDI”。所以我不能使用ng-change,因为每次更改事件时都不会触发方法“addCDI”。 – Shakti

回答

0

另一种方法是使用ng-change,它会在选择新选项时触发。

请注意,使用ng-change时,还需要ng-model。

+0

但我想“输入密钥”事件不ng-change – Shakti

+0

onchange你会得到事件,那么你可以使用event.keycode和输入密钥码是13。 – Shrinath

0

您需要使用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>