输入选项卡指令不适用于ng-repeat生成的输入字段

时间:2015-07-15 10:47:31

标签: javascript jquery angularjs ionic

作为标题,我使用ionic和angularjs来学习开发一个Web应用程序,我遇到了一些问题。我创建了一个指令并尝试让键盘表现为" Tab"按下"输入"用于输入字段。它与html中的静态标签完美搭配。但是,当我使用ng-repeat生成输入字段时,它不起作用。

这是我的HTML:

<form enter-as-tab ng-controller="ListCtrl">
  <ion-list>
    <ion-item class="item item-dark" ng-repeat="item in items">
        <input class="item-note" type="{{item.type}}">
        {{item.name}}
        </input>
    </ion-item>
  </ion-list>
</form>

这是我的控制器和指令:

.controller('ListCtrl',['$scope','$http',function($scope,$http){
    $http.get('js/data.json').success(function(data){
        $scope.items = data;
    });
}])

.directive('enterAsTab', function () {
    return {
    "restrict" : "A",
    "link" : function (scope, element, attrs) {
        $('input').on("focus keypress", function(e) {
            var inputs = $(this).closest('form').find(':input:visible,select:visible');
            var nextInput = inputs.eq( inputs.index(this) + 1 );
            if (e.keyCode === 13) {
                nextInput.focus();
                if(nextInput.attr('type')!=="submit")
                    e.preventDefault();
            }
            return true;
        });
    }}
})

希望你们能帮助我,非常感谢!

1 个答案:

答案 0 :(得分:0)

@charlietfl你的答案是完美的,我找到了它出现错误的原因。我需要在angularjs之前声明jquery.js