angular bootstrap typeahead +类似ng-enter的东西

时间:2014-10-23 09:14:24

标签: angularjs twitter-bootstrap typeahead

我有一个带有typeahead的输入字段(工作正常)。 现在我想要的(以及什么不起作用)是当用户将某些内容写入预先输入文本字段然后按下回车键并执行-no- typeahead catch时执行另一个调用。 (在这种情况下,我想显示错误消息)。

如何实现这一目标? (以下代码是我的例子,虽然带有'ng-enter'的行不能像这样工作。

<input
   type="text"
   ng-model="vm.activeOrder"
   ng-enter="console.log('show error message maybe')"
   typeahead-on-select="vm.selectOrderInTypeAhead($item, $model, $label)"
   typeahead="order as order.order_number for order in vm.get OrdersForTypeAhead($viewValue)"
  class="form-control">

1 个答案:

答案 0 :(得分:1)

你可以创建一个ng-enter directive(类似这个):

app.directive('ngEnter', function ($window) {
    return function (scope, element, attrs) {
        element.bind("keydown keypress", function (event) {
            if (event.which === 13) {
                scope.$apply(function () {
                    event.preventDefault();
                    $window.alert('error');
                });
            }
        });
    };
});

JSFIDDLE