我想在angularjs中绑定Typeahead
输入事件。我一直使用jQuery
如下:
this.$("input#search-box").bind('typeahead:enterKeyed', function (e, data) {
//to do stuff
}
我想在angularjs.中使用类似的代码编写代码我正在使用ui-bootstrap-typeahead
typeahead工作正常但需要绑定enter事件以加载其他函数
我试过这个:
angular.module('genericDirectives', []).directive('ngEnter', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.bind("typeahead:enterKeyed", function (event) {
console.log("Enter");
scope.$apply(function () {
scope.$eval(attrs.ngEnter);
});
event.preventDefault();
});
}
};
});
HTML
<input type="text" data-ng-model="selectedSongs" ng-enter="reloadData(selectedSongs)" typeahead="songs for songs in getSongs($viewValue)" class="form-control" />
P.S。:我是angualrjs的新手
答案 0 :(得分:1)
您可以尝试使用:typeahead-on-select($item, $model, $label)
。
示例:
<input id="search-box" type="text" ng-model="selectedData" typeahead-on-select="doSomething(selectedData)" />
确保您在$scope
:
$scope.doSomething = function (value) {
// do something...
}